brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.1 KiB · 979b8a4 Raw
162 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# REQUIRES: asserts3# RUN: llc  %s -o - -mtriple=riscv32 -mattr=+zcmp -target-abi ilp32 -run-pass=prologepilog \4# RUN:   -simplify-mir -verify-machineinstrs | FileCheck %s5 6--- |7  define hidden void @f(fp128 %a) local_unnamed_addr #0 {8  entry:9    %0 = bitcast fp128 %a to i12810    %and.i = lshr i128 %0, 11211    %1 = trunc i128 %and.i to i3212    %2 = and i32 %1, 3276713    %or.i = or i128 poison, 519229685853482762853049632922009614    br label %if.end.i15 16  if.end.i:                                         ; preds = %entry17    br i1 poison, label %exit, label %if.then12.i18 19  if.then12.i:                                      ; preds = %if.end.i20    %sub13.i = sub nuw nsw i32 16495, %221    %sh_prom.i = zext i32 %sub13.i to i12822    %shr14.i = lshr i128 %or.i, %sh_prom.i23    %conv15.i = trunc i128 %shr14.i to i3224    br label %exit25 26  exit:                                             ; preds = %if.then12.i, %if.end.i27    %retval.0.i = phi i32 [ %conv15.i, %if.then12.i ], [ -1, %if.end.i ]28    ret void29  }30...31---32name:            f33alignment:       234tracksRegLiveness: true35tracksDebugUserValues: true36liveins:37  - { reg: '$x10' }38frameInfo:39  maxAlignment:    140  localFrameSize:  3241  savePoint:42    - point:           '%bb.2'43  restorePoint:44    - point:           '%bb.2'45stack:46  - { id: 0, size: 32, alignment: 1, local-offset: -32 }47machineFunctionInfo:48  varArgsFrameIndex: 049  varArgsSaveSize: 050body:             |51  ; CHECK-LABEL: name: f52  ; CHECK: bb.0.entry:53  ; CHECK-NEXT:   liveins: $x1054  ; CHECK-NEXT: {{  $}}55  ; CHECK-NEXT:   renamable $x10 = ADDI $x0, -156  ; CHECK-NEXT: {{  $}}57  ; CHECK-NEXT: bb.1.if.end.i:58  ; CHECK-NEXT:   liveins: $x1059  ; CHECK-NEXT: {{  $}}60  ; CHECK-NEXT:   BNE $x0, $x0, %bb.361  ; CHECK-NEXT:   PseudoBR %bb.262  ; CHECK-NEXT: {{  $}}63  ; CHECK-NEXT: bb.2.if.then12.i:64  ; CHECK-NEXT:   liveins: $x1065  ; CHECK-NEXT: {{  $}}66  ; CHECK-NEXT:   $x2 = frame-setup ADDI $x2, -3267  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 3268  ; CHECK-NEXT:   SB $x0, $x2, 31 :: (store (s8) into %stack.0 + 31)69  ; CHECK-NEXT:   SB $x0, $x2, 30 :: (store (s8) into %stack.0 + 30)70  ; CHECK-NEXT:   SB $x0, $x2, 29 :: (store (s8) into %stack.0 + 29)71  ; CHECK-NEXT:   SB $x0, $x2, 28 :: (store (s8) into %stack.0 + 28)72  ; CHECK-NEXT:   SB $x0, $x2, 27 :: (store (s8) into %stack.0 + 27)73  ; CHECK-NEXT:   SB $x0, $x2, 26 :: (store (s8) into %stack.0 + 26)74  ; CHECK-NEXT:   SB $x0, $x2, 25 :: (store (s8) into %stack.0 + 25)75  ; CHECK-NEXT:   SB $x0, $x2, 24 :: (store (s8) into %stack.0 + 24)76  ; CHECK-NEXT:   SB $x0, $x2, 23 :: (store (s8) into %stack.0 + 23)77  ; CHECK-NEXT:   SB $x0, $x2, 22 :: (store (s8) into %stack.0 + 22)78  ; CHECK-NEXT:   SB $x0, $x2, 21 :: (store (s8) into %stack.0 + 21)79  ; CHECK-NEXT:   SB $x0, $x2, 20 :: (store (s8) into %stack.0 + 20)80  ; CHECK-NEXT:   SB $x0, $x2, 19 :: (store (s8) into %stack.0 + 19)81  ; CHECK-NEXT:   SB $x0, $x2, 18 :: (store (s8) into %stack.0 + 18)82  ; CHECK-NEXT:   SB $x0, $x2, 17 :: (store (s8) into %stack.0 + 17)83  ; CHECK-NEXT:   SB $x0, $x2, 16 :: (store (s8) into %stack.0 + 16)84  ; CHECK-NEXT:   SB renamable $x10, $x2, 0 :: (store (s8) into %stack.0)85  ; CHECK-NEXT:   SB renamable $x10, $x2, 4 :: (store (s8) into %stack.0 + 4)86  ; CHECK-NEXT:   renamable $x11 = SRLI renamable $x10, 2487  ; CHECK-NEXT:   SB renamable $x11, $x2, 3 :: (store (s8) into %stack.0 + 3)88  ; CHECK-NEXT:   renamable $x12 = SRLI renamable $x10, 1689  ; CHECK-NEXT:   SB renamable $x12, $x2, 2 :: (store (s8) into %stack.0 + 2)90  ; CHECK-NEXT:   renamable $x13 = SRLI renamable $x10, 891  ; CHECK-NEXT:   SB renamable $x13, $x2, 1 :: (store (s8) into %stack.0 + 1)92  ; CHECK-NEXT:   SB renamable $x10, $x2, 8 :: (store (s8) into %stack.0 + 8)93  ; CHECK-NEXT:   SB renamable $x11, $x2, 7 :: (store (s8) into %stack.0 + 7)94  ; CHECK-NEXT:   SB renamable $x12, $x2, 6 :: (store (s8) into %stack.0 + 6)95  ; CHECK-NEXT:   SB renamable $x13, $x2, 5 :: (store (s8) into %stack.0 + 5)96  ; CHECK-NEXT:   SB killed renamable $x10, $x2, 12 :: (store (s8) into %stack.0 + 12)97  ; CHECK-NEXT:   SB renamable $x11, $x2, 11 :: (store (s8) into %stack.0 + 11)98  ; CHECK-NEXT:   SB renamable $x12, $x2, 10 :: (store (s8) into %stack.0 + 10)99  ; CHECK-NEXT:   SB renamable $x13, $x2, 9 :: (store (s8) into %stack.0 + 9)100  ; CHECK-NEXT:   SB killed renamable $x11, $x2, 15 :: (store (s8) into %stack.0 + 15)101  ; CHECK-NEXT:   SB killed renamable $x12, $x2, 14 :: (store (s8) into %stack.0 + 14)102  ; CHECK-NEXT:   SB killed renamable $x13, $x2, 13 :: (store (s8) into %stack.0 + 13)103  ; CHECK-NEXT:   $x2 = frame-destroy ADDI $x2, 32104  ; CHECK-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa_offset 0105  ; CHECK-NEXT: {{  $}}106  ; CHECK-NEXT: bb.3.exit:107  ; CHECK-NEXT:   PseudoRET108  bb.0.entry:109    liveins: $x10110 111    renamable $x10 = ADDI $x0, -1112 113  bb.1.if.end.i:114    liveins: $x10115 116    BNE $x0, $x0, %bb.3117    PseudoBR %bb.2118 119  bb.2.if.then12.i:120    liveins: $x10121 122    SB $x0, %stack.0, 31 :: (store (s8) into %stack.0 + 31)123    SB $x0, %stack.0, 30 :: (store (s8) into %stack.0 + 30)124    SB $x0, %stack.0, 29 :: (store (s8) into %stack.0 + 29)125    SB $x0, %stack.0, 28 :: (store (s8) into %stack.0 + 28)126    SB $x0, %stack.0, 27 :: (store (s8) into %stack.0 + 27)127    SB $x0, %stack.0, 26 :: (store (s8) into %stack.0 + 26)128    SB $x0, %stack.0, 25 :: (store (s8) into %stack.0 + 25)129    SB $x0, %stack.0, 24 :: (store (s8) into %stack.0 + 24)130    SB $x0, %stack.0, 23 :: (store (s8) into %stack.0 + 23)131    SB $x0, %stack.0, 22 :: (store (s8) into %stack.0 + 22)132    SB $x0, %stack.0, 21 :: (store (s8) into %stack.0 + 21)133    SB $x0, %stack.0, 20 :: (store (s8) into %stack.0 + 20)134    SB $x0, %stack.0, 19 :: (store (s8) into %stack.0 + 19)135    SB $x0, %stack.0, 18 :: (store (s8) into %stack.0 + 18)136    SB $x0, %stack.0, 17 :: (store (s8) into %stack.0 + 17)137    SB $x0, %stack.0, 16 :: (store (s8) into %stack.0 + 16)138    SB renamable $x10, %stack.0, 0 :: (store (s8) into %stack.0)139    SB renamable $x10, %stack.0, 4 :: (store (s8) into %stack.0 + 4)140    renamable $x11 = SRLI renamable $x10, 24141    SB renamable $x11, %stack.0, 3 :: (store (s8) into %stack.0 + 3)142    renamable $x12 = SRLI renamable $x10, 16143    SB renamable $x12, %stack.0, 2 :: (store (s8) into %stack.0 + 2)144    renamable $x13 = SRLI renamable $x10, 8145    SB renamable $x13, %stack.0, 1 :: (store (s8) into %stack.0 + 1)146    SB renamable $x10, %stack.0, 8 :: (store (s8) into %stack.0 + 8)147    SB renamable $x11, %stack.0, 7 :: (store (s8) into %stack.0 + 7)148    SB renamable $x12, %stack.0, 6 :: (store (s8) into %stack.0 + 6)149    SB renamable $x13, %stack.0, 5 :: (store (s8) into %stack.0 + 5)150    SB killed renamable $x10, %stack.0, 12 :: (store (s8) into %stack.0 + 12)151    SB renamable $x11, %stack.0, 11 :: (store (s8) into %stack.0 + 11)152    SB renamable $x12, %stack.0, 10 :: (store (s8) into %stack.0 + 10)153    SB renamable $x13, %stack.0, 9 :: (store (s8) into %stack.0 + 9)154    SB killed renamable $x11, %stack.0, 15 :: (store (s8) into %stack.0 + 15)155    SB killed renamable $x12, %stack.0, 14 :: (store (s8) into %stack.0 + 14)156    SB killed renamable $x13, %stack.0, 13 :: (store (s8) into %stack.0 + 13)157 158  bb.3.exit:159    PseudoRET160 161...162