brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.3 KiB · e547972 Raw
154 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -mattr=+a,+zabha -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s3 4---5name:            atomicrmw_add_i8_monotonic6legalized:       true7regBankSelected: true8tracksRegLiveness: true9body:             |10  bb.0.entry:11    liveins: $x10, $x1112 13    ; CHECK-LABEL: name: atomicrmw_add_i8_monotonic14    ; CHECK: liveins: $x10, $x1115    ; CHECK-NEXT: {{  $}}16    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1017    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1118    ; CHECK-NEXT: [[AMOADD_B:%[0-9]+]]:gpr = AMOADD_B [[COPY1]], [[COPY]] :: (load store monotonic (s8))19    ; CHECK-NEXT: $x10 = COPY [[AMOADD_B]]20    ; CHECK-NEXT: PseudoRET implicit $x1021    %0:gprb(p0) = COPY $x1022    %1:gprb(s32) = COPY $x1123    %2:gprb(s32) = G_ATOMICRMW_ADD %0(p0), %1 :: (load store monotonic (s8))24    $x10 = COPY %2(s32)25    PseudoRET implicit $x1026...27---28name:            atomicrmw_add_i16_monotonic29legalized:       true30regBankSelected: true31tracksRegLiveness: true32body:             |33  bb.0.entry:34    liveins: $x10, $x1135 36    ; CHECK-LABEL: name: atomicrmw_add_i16_monotonic37    ; CHECK: liveins: $x10, $x1138    ; CHECK-NEXT: {{  $}}39    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1040    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1141    ; CHECK-NEXT: [[AMOADD_H:%[0-9]+]]:gpr = AMOADD_H [[COPY1]], [[COPY]] :: (load store monotonic (s16))42    ; CHECK-NEXT: $x10 = COPY [[AMOADD_H]]43    ; CHECK-NEXT: PseudoRET implicit $x1044    %0:gprb(p0) = COPY $x1045    %1:gprb(s32) = COPY $x1146    %2:gprb(s32) = G_ATOMICRMW_ADD %0(p0), %1 :: (load store monotonic (s16))47    $x10 = COPY %2(s32)48    PseudoRET implicit $x1049...50---51name:            atomicrmw_add_i32_monotonic52legalized:       true53regBankSelected: true54tracksRegLiveness: true55body:             |56  bb.0.entry:57    liveins: $x10, $x1158 59    ; CHECK-LABEL: name: atomicrmw_add_i32_monotonic60    ; CHECK: liveins: $x10, $x1161    ; CHECK-NEXT: {{  $}}62    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1063    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1164    ; CHECK-NEXT: [[AMOADD_W:%[0-9]+]]:gpr = AMOADD_W [[COPY1]], [[COPY]] :: (load store monotonic (s32))65    ; CHECK-NEXT: $x10 = COPY [[AMOADD_W]]66    ; CHECK-NEXT: PseudoRET implicit $x1067    %0:gprb(p0) = COPY $x1068    %1:gprb(s32) = COPY $x1169    %2:gprb(s32) = G_ATOMICRMW_ADD %0(p0), %1 :: (load store monotonic (s32))70    $x10 = COPY %2(s32)71    PseudoRET implicit $x1072...73---74name:            atomicrmw_sub_i8_monotonic75legalized:       true76regBankSelected: true77tracksRegLiveness: true78body:             |79  bb.0.entry:80    liveins: $x10, $x1181 82    ; CHECK-LABEL: name: atomicrmw_sub_i8_monotonic83    ; CHECK: liveins: $x10, $x1184    ; CHECK-NEXT: {{  $}}85    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x1086    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x1187    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x088    ; CHECK-NEXT: [[SUB:%[0-9]+]]:gpr = SUB [[COPY2]], [[COPY1]]89    ; CHECK-NEXT: [[AMOADD_B:%[0-9]+]]:gpr = AMOADD_B [[SUB]], [[COPY]] :: (load store monotonic (s8))90    ; CHECK-NEXT: $x10 = COPY [[AMOADD_B]]91    ; CHECK-NEXT: PseudoRET implicit $x1092    %0:gprb(p0) = COPY $x1093    %1:gprb(s32) = COPY $x1194    %2:gprb(s32) = G_CONSTANT i32 095    %3:gprb(s32) = G_SUB %2(s32), %1(s32)96    %4:gprb(s32) = G_ATOMICRMW_ADD %0(p0), %3 :: (load store monotonic (s8))97    $x10 = COPY %4(s32)98    PseudoRET implicit $x1099...100---101name:            atomicrmw_sub_i16_monotonic102legalized:       true103regBankSelected: true104tracksRegLiveness: true105body:             |106  bb.0.entry:107    liveins: $x10, $x11108 109    ; CHECK-LABEL: name: atomicrmw_sub_i16_monotonic110    ; CHECK: liveins: $x10, $x11111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10113    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11114    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x0115    ; CHECK-NEXT: [[SUB:%[0-9]+]]:gpr = SUB [[COPY2]], [[COPY1]]116    ; CHECK-NEXT: [[AMOADD_H:%[0-9]+]]:gpr = AMOADD_H [[SUB]], [[COPY]] :: (load store monotonic (s16))117    ; CHECK-NEXT: $x10 = COPY [[AMOADD_H]]118    ; CHECK-NEXT: PseudoRET implicit $x10119    %0:gprb(p0) = COPY $x10120    %1:gprb(s32) = COPY $x11121    %2:gprb(s32) = G_CONSTANT i32 0122    %3:gprb(s32) = G_SUB %2(s32), %1(s32)123    %4:gprb(s32) = G_ATOMICRMW_ADD %0(p0), %3 :: (load store monotonic (s16))124    $x10 = COPY %4(s32)125    PseudoRET implicit $x10126...127---128name:            atomicrmw_sub_i32_monotonic129legalized:       true130regBankSelected: true131tracksRegLiveness: true132body:             |133  bb.0.entry:134    liveins: $x10, $x11135 136    ; CHECK-LABEL: name: atomicrmw_sub_i32_monotonic137    ; CHECK: liveins: $x10, $x11138    ; CHECK-NEXT: {{  $}}139    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10140    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x11141    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x0142    ; CHECK-NEXT: [[SUB:%[0-9]+]]:gpr = SUB [[COPY2]], [[COPY1]]143    ; CHECK-NEXT: [[AMOADD_B:%[0-9]+]]:gpr = AMOADD_B [[SUB]], [[COPY]] :: (load store monotonic (s8))144    ; CHECK-NEXT: $x10 = COPY [[AMOADD_B]]145    ; CHECK-NEXT: PseudoRET implicit $x10146    %0:gprb(p0) = COPY $x10147    %1:gprb(s32) = COPY $x11148    %2:gprb(s32) = G_CONSTANT i32 0149    %3:gprb(s32) = G_SUB %2(s32), %1(s32)150    %4:gprb(s32) = G_ATOMICRMW_ADD %0(p0), %3 :: (load store monotonic (s8))151    $x10 = COPY %4(s32)152    PseudoRET implicit $x10153...154