123 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 42# RUN: llc -mtriple=riscv64 -mattr=+v -run-pass=legalizer %s -o - | FileCheck %s3---4name: constbarrier_i325body: |6 bb.0.entry:7 ; CHECK-LABEL: name: constbarrier_i328 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 163689 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[C]](s64)10 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(s32) = G_CONSTANT_FOLD_BARRIER [[TRUNC]]11 ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[CONSTANT_FOLD_BARRIER]](s32)12 ; CHECK-NEXT: $x10 = COPY [[ANYEXT]](s64)13 ; CHECK-NEXT: PseudoRET implicit $x1014 %1:_(s32) = G_CONSTANT i32 1636815 %2:_(s32) = G_CONSTANT_FOLD_BARRIER %116 %3:_(s64) = G_ANYEXT %2(s32)17 $x10 = COPY %3(s64)18 PseudoRET implicit $x1019 20...21---22name: constbarrier_i6423body: |24 bb.0.entry:25 ; CHECK-LABEL: name: constbarrier_i6426 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1636827 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(s64) = G_CONSTANT_FOLD_BARRIER [[C]]28 ; CHECK-NEXT: $x10 = COPY [[CONSTANT_FOLD_BARRIER]](s64)29 ; CHECK-NEXT: PseudoRET implicit $x1030 %1:_(s64) = G_CONSTANT i64 1636831 %2:_(s64) = G_CONSTANT_FOLD_BARRIER %132 $x10 = COPY %2(s64)33 PseudoRET implicit $x1034 35...36---37name: constbarrier_i1638body: |39 bb.0.entry:40 ; CHECK-LABEL: name: constbarrier_i1641 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 204842 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s32) = G_TRUNC [[C]](s64)43 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(s32) = G_CONSTANT_FOLD_BARRIER [[TRUNC]]44 ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[CONSTANT_FOLD_BARRIER]](s32)45 ; CHECK-NEXT: $x10 = COPY [[ANYEXT]](s64)46 ; CHECK-NEXT: PseudoRET implicit $x1047 %1:_(s16) = G_CONSTANT i16 204848 %2:_(s16) = G_CONSTANT_FOLD_BARRIER %149 %3:_(s64) = G_ANYEXT %2(s16)50 $x10 = COPY %3(s64)51 PseudoRET implicit $x1052 53...54---55name: constbarrier_i12856body: |57 bb.0.entry:58 ; CHECK-LABEL: name: constbarrier_i12859 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 204860 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(s64) = G_CONSTANT_FOLD_BARRIER [[C]]61 ; CHECK-NEXT: $x10 = COPY [[CONSTANT_FOLD_BARRIER]](s64)62 ; CHECK-NEXT: PseudoRET implicit $x1063 %1:_(s128) = G_CONSTANT i128 204864 %2:_(s128) = G_CONSTANT_FOLD_BARRIER %165 %3:_(s64) = G_TRUNC %2(s128)66 $x10 = COPY %3(s64)67 PseudoRET implicit $x1068 69...70---71name: constbarrier_nxv2i172body: |73 bb.0.entry:74 ; CHECK-LABEL: name: constbarrier_nxv2i175 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -176 ; CHECK-NEXT: [[VMSET_VL:%[0-9]+]]:_(<vscale x 2 x s1>) = G_VMSET_VL [[C]](s64)77 ; CHECK-NEXT: [[VMCLR_VL:%[0-9]+]]:_(<vscale x 2 x s1>) = G_VMCLR_VL [[C]](s64)78 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(<vscale x 2 x s1>) = G_CONSTANT_FOLD_BARRIER [[VMCLR_VL]]79 ; CHECK-NEXT: $v8 = COPY [[CONSTANT_FOLD_BARRIER]](<vscale x 2 x s1>)80 ; CHECK-NEXT: PseudoRET implicit $v881 %1:_(s1) = G_CONSTANT i1 082 %2:_(<vscale x 2 x s1>) = G_SPLAT_VECTOR %1(s1)83 %3:_(<vscale x 2 x s1>) = G_CONSTANT_FOLD_BARRIER %284 $v8 = COPY %3(<vscale x 2 x s1>)85 PseudoRET implicit $v886 87...88---89name: constbarrier_nxv2i3290body: |91 bb.0.entry:92 ; CHECK-LABEL: name: constbarrier_nxv2i3293 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 094 ; CHECK-NEXT: [[SPLAT_VECTOR:%[0-9]+]]:_(<vscale x 2 x s32>) = G_SPLAT_VECTOR [[C]](s64)95 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(<vscale x 2 x s32>) = G_CONSTANT_FOLD_BARRIER [[SPLAT_VECTOR]]96 ; CHECK-NEXT: $v8 = COPY [[CONSTANT_FOLD_BARRIER]](<vscale x 2 x s32>)97 ; CHECK-NEXT: PseudoRET implicit $v898 %1:_(s32) = G_CONSTANT i32 099 %2:_(<vscale x 2 x s32>) = G_SPLAT_VECTOR %1(s32)100 %3:_(<vscale x 2 x s32>) = G_CONSTANT_FOLD_BARRIER %2101 $v8 = COPY %3(<vscale x 2 x s32>)102 PseudoRET implicit $v8103 104...105---106name: constbarrier_nxv2i64107body: |108 bb.0.entry:109 ; CHECK-LABEL: name: constbarrier_nxv2i64110 ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 0111 ; CHECK-NEXT: [[SPLAT_VECTOR:%[0-9]+]]:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR [[C]](s64)112 ; CHECK-NEXT: [[CONSTANT_FOLD_BARRIER:%[0-9]+]]:_(<vscale x 2 x s64>) = G_CONSTANT_FOLD_BARRIER [[SPLAT_VECTOR]]113 ; CHECK-NEXT: $v8m2 = COPY [[CONSTANT_FOLD_BARRIER]](<vscale x 2 x s64>)114 ; CHECK-NEXT: PseudoRET implicit $v8m2115 %0:_(<vscale x 2 x s64>) = G_IMPLICIT_DEF116 %1:_(s64) = G_CONSTANT i64 0117 %2:_(<vscale x 2 x s64>) = G_SPLAT_VECTOR %1(s64)118 %3:_(<vscale x 2 x s64>) = G_CONSTANT_FOLD_BARRIER %2(<vscale x 2 x s64>)119 $v8m2 = COPY %3(<vscale x 2 x s64>)120 PseudoRET implicit $v8m2121 122...123