summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/GlobalISel/select-constant.mir
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/GlobalISel/select-constant.mir')
-rw-r--r--llvm/test/CodeGen/X86/GlobalISel/select-constant.mir93
1 files changed, 51 insertions, 42 deletions
diff --git a/llvm/test/CodeGen/X86/GlobalISel/select-constant.mir b/llvm/test/CodeGen/X86/GlobalISel/select-constant.mir
index 30f57418b4c..db6c8c984a8 100644
--- a/llvm/test/CodeGen/X86/GlobalISel/select-constant.mir
+++ b/llvm/test/CodeGen/X86/GlobalISel/select-constant.mir
@@ -1,3 +1,4 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=x86_64-linux-gnu -global-isel -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=CHECK
--- |
@@ -40,15 +41,16 @@ name: const_i8
legalized: true
regBankSelected: true
selected: false
-# CHECK-LABEL: name: const_i8
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr8, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: body:
-# CHECK: %0 = MOV8ri 2
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i8
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr8
+ ; CHECK: [[MOV8ri:%[0-9]+]] = MOV8ri 2
+ ; CHECK: %al = COPY [[MOV8ri]]
+ ; CHECK: RET 0, implicit %al
%0(s8) = G_CONSTANT i8 2
%al = COPY %0(s8)
RET 0, implicit %al
@@ -59,15 +61,16 @@ name: const_i16
legalized: true
regBankSelected: true
selected: false
-# CHECK-LABEL: name: const_i16
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr16, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: body:
-# CHECK: %0 = MOV16ri 3
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i16
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr16
+ ; CHECK: [[MOV16ri:%[0-9]+]] = MOV16ri 3
+ ; CHECK: %ax = COPY [[MOV16ri]]
+ ; CHECK: RET 0, implicit %ax
%0(s16) = G_CONSTANT i16 3
%ax = COPY %0(s16)
RET 0, implicit %ax
@@ -78,15 +81,16 @@ name: const_i32
legalized: true
regBankSelected: true
selected: false
-# CHECK-LABEL: name: const_i32
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr32, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: body:
-# CHECK: %0 = MOV32ri 4
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i32
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr32
+ ; CHECK: [[MOV32ri:%[0-9]+]] = MOV32ri 4
+ ; CHECK: %eax = COPY [[MOV32ri]]
+ ; CHECK: RET 0, implicit %eax
%0(s32) = G_CONSTANT i32 4
%eax = COPY %0(s32)
RET 0, implicit %eax
@@ -94,16 +98,18 @@ body: |
...
---
name: const_i32_0
-# CHECK-LABEL: name: const_i32_0
legalized: true
regBankSelected: true
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr32, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: %0 = MOV32r0 implicit-def %eflags
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i32_0
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr32
+ ; CHECK: [[MOV32r0_:%[0-9]+]] = MOV32r0 implicit-def %eflags
+ ; CHECK: %eax = COPY [[MOV32r0_]]
+ ; CHECK: RET 0, implicit %eax
%0(s32) = G_CONSTANT i32 0
%eax = COPY %0(s32)
RET 0, implicit %eax
@@ -114,15 +120,16 @@ name: const_i64
legalized: true
regBankSelected: true
selected: false
-# CHECK-LABEL: name: const_i64
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr64, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: body:
-# CHECK: %0 = MOV64ri 68719476720
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i64
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr64
+ ; CHECK: [[MOV64ri:%[0-9]+]] = MOV64ri 68719476720
+ ; CHECK: %rax = COPY [[MOV64ri]]
+ ; CHECK: RET 0, implicit %rax
%0(s64) = G_CONSTANT i64 68719476720
%rax = COPY %0(s64)
RET 0, implicit %rax
@@ -134,15 +141,16 @@ alignment: 4
legalized: true
regBankSelected: true
selected: false
-# CHECK-LABEL: name: const_i64_u32
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr64, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: body:
-# CHECK: %0 = MOV64ri32 1879048192
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i64_u32
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr64
+ ; CHECK: [[MOV64ri32_:%[0-9]+]] = MOV64ri32 1879048192
+ ; CHECK: %rax = COPY [[MOV64ri32_]]
+ ; CHECK: RET 0, implicit %rax
%0(s64) = G_CONSTANT i64 1879048192
%rax = COPY %0(s64)
RET 0, implicit %rax
@@ -153,15 +161,16 @@ name: const_i64_i32
legalized: true
regBankSelected: true
selected: false
-# CHECK-LABEL: name: const_i64_i32
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr64, preferred-register: '' }
registers:
- { id: 0, class: gpr }
-# CHECK: body:
-# CHECK: %0 = MOV64ri32 -1
body: |
bb.1 (%ir-block.0):
+ ; CHECK-LABEL: name: const_i64_i32
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr64
+ ; CHECK: [[MOV64ri32_:%[0-9]+]] = MOV64ri32 -1
+ ; CHECK: %rax = COPY [[MOV64ri32_]]
+ ; CHECK: RET 0, implicit %rax
%0(s64) = G_CONSTANT i64 -1
%rax = COPY %0(s64)
RET 0, implicit %rax
@@ -169,24 +178,24 @@ body: |
...
---
name: main
-# CHECK-LABEL: name: main
alignment: 4
legalized: true
regBankSelected: true
-# CHECK: registers:
-# CHECK-NEXT: - { id: 0, class: gr64, preferred-register: '' }
-# CHECK-NEXT: - { id: 1, class: gr64, preferred-register: '' }
registers:
- { id: 0, class: gpr, preferred-register: '' }
- { id: 1, class: gpr, preferred-register: '' }
-# CHECK: %0 = COPY %rdi
-# CHECK-NEXT: %1 = MOV64ri32 0
-# CHECK-NEXT: MOV64mr %0, 1, _, 0, _, %1 :: (store 8 into %ir.data)
-# CHECK-NEXT: RET 0
body: |
bb.1 (%ir-block.0):
liveins: %rdi
+ ; CHECK-LABEL: name: main
+ ; CHECK: registers:
+ ; CHECK-NEXT: id: 0, class: gr64
+ ; CHECK-NEXT: id: 1, class: gr64
+ ; CHECK: [[COPY:%[0-9]+]] = COPY %rdi
+ ; CHECK: [[MOV64ri32_:%[0-9]+]] = MOV64ri32 0
+ ; CHECK: MOV64mr [[COPY]], 1, _, 0, _, [[MOV64ri32_]] :: (store 8 into %ir.data)
+ ; CHECK: RET 0
%0(p0) = COPY %rdi
%1(p0) = G_CONSTANT i64 0
G_STORE %1(p0), %0(p0) :: (store 8 into %ir.data)
OpenPOWER on IntegriCloud