summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-10-12 22:49:15 +0000
committerTim Northover <tnorthover@apple.com>2016-10-12 22:49:15 +0000
commitfb8d9898188c1b95ffb56600b608e11bbbb94946 (patch)
treebabee83b5f80e3c2cbc6c1db98717a4feae94dc2 /llvm/test/CodeGen
parent69271c64d5582adf3b6d3680de9f27cb55e7b6f8 (diff)
downloadbcm5719-llvm-fb8d9898188c1b95ffb56600b608e11bbbb94946.tar.gz
bcm5719-llvm-fb8d9898188c1b95ffb56600b608e11bbbb94946.zip
GlobalISel: support G_TRUNC selection on AArch64.
Ahmed's patch again. llvm-svn: 284075
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir37
1 files changed, 37 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir
index c42db8b0280..d60fb940fb6 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir
@@ -104,6 +104,8 @@
@var_got = external global i8
define i8* @global_got() { ret i8* undef }
+ define void @trunc() { ret void }
+
define void @anyext_gpr() { ret void }
define void @zext_gpr() { ret void }
define void @sext_gpr() { ret void }
@@ -1768,6 +1770,41 @@ body: |
...
---
+# CHECK-LABEL: name: trunc
+name: trunc
+legalized: true
+regBankSelected: true
+
+# CHECK: registers:
+# CHECK-NEXT: - { id: 0, class: gpr32 }
+# CHECK-NEXT: - { id: 1, class: gpr32 }
+# CHECK-NEXT: - { id: 2, class: gpr64 }
+# CHECK-NEXT: - { id: 3, class: gpr32 }
+# CHECK-NEXT: - { id: 4, class: gpr32 }
+registers:
+ - { id: 0, class: gpr }
+ - { id: 1, class: gpr }
+ - { id: 2, class: gpr }
+ - { id: 3, class: gpr }
+ - { id: 4, class: gpr }
+
+# CHECK: body:
+# CHECK: %1 = COPY %0
+# CHECK: %3 = COPY %2.sub_32
+# CHECK: %4 = COPY %2.sub_32
+body: |
+ bb.0:
+ liveins: %w0, %x0
+
+ %0(s32) = COPY %w0
+ %1(s1) = G_TRUNC %0
+
+ %2(s64) = COPY %x0
+ %3(s32) = G_TRUNC %2
+ %4(s8) = G_TRUNC %2
+...
+
+---
# CHECK-LABEL: name: anyext_gpr
name: anyext_gpr
legalized: true
OpenPOWER on IntegriCloud