brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · d06e2c6 Raw
53 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2; RUN: llc -O0 -mtriple=aarch64-linux-gnu -global-isel -stop-after=irtranslator %s -o - | FileCheck %s3 4define i64 @call_vscale_i64() {5  ; CHECK-LABEL: name: call_vscale_i646  ; CHECK: bb.1.entry:7  ; CHECK-NEXT:   [[VSCALE:%[0-9]+]]:_(s64) = G_VSCALE i64 18  ; CHECK-NEXT:   $x0 = COPY [[VSCALE]](s64)9  ; CHECK-NEXT:   RET_ReallyLR implicit $x010entry:11  %vscale = call i64 @llvm.vscale.64()12  ret i64 %vscale13}14 15define i64 @call_vscale_i32() {16  ; CHECK-LABEL: name: call_vscale_i3217  ; CHECK: bb.1.entry:18  ; CHECK-NEXT:   [[VSCALE:%[0-9]+]]:_(s32) = G_VSCALE i32 119  ; CHECK-NEXT:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[VSCALE]](s32)20  ; CHECK-NEXT:   $x0 = COPY [[ZEXT]](s64)21  ; CHECK-NEXT:   RET_ReallyLR implicit $x022entry:23  %vscale = call i32 @llvm.vscale.32()24  %zext = zext i32 %vscale to i6425  ret i64 %zext26}27 28define i64 @call_vscale_i16() {29  ; CHECK-LABEL: name: call_vscale_i1630  ; CHECK: bb.1.entry:31  ; CHECK-NEXT:   [[VSCALE:%[0-9]+]]:_(s16) = G_VSCALE i16 132  ; CHECK-NEXT:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[VSCALE]](s16)33  ; CHECK-NEXT:   $x0 = COPY [[ZEXT]](s64)34  ; CHECK-NEXT:   RET_ReallyLR implicit $x035entry:36  %vscale = call i16 @llvm.vscale.16()37  %zext = zext i16 %vscale to i6438  ret i64 %zext39}40 41define i64 @call_vscale_i8() {42  ; CHECK-LABEL: name: call_vscale_i843  ; CHECK: bb.1.entry:44  ; CHECK-NEXT:   [[VSCALE:%[0-9]+]]:_(s8) = G_VSCALE i8 145  ; CHECK-NEXT:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[VSCALE]](s8)46  ; CHECK-NEXT:   $x0 = COPY [[ZEXT]](s64)47  ; CHECK-NEXT:   RET_ReallyLR implicit $x048entry:49  %vscale = call i8 @llvm.vscale.8()50  %zext = zext i8 %vscale to i6451  ret i64 %zext52}53