summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/MIR/X86
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/MIR/X86')
-rw-r--r--llvm/test/CodeGen/MIR/X86/memory-operands.mir23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/MIR/X86/memory-operands.mir b/llvm/test/CodeGen/MIR/X86/memory-operands.mir
index 314cc1d2871..54e9cc47ba0 100644
--- a/llvm/test/CodeGen/MIR/X86/memory-operands.mir
+++ b/llvm/test/CodeGen/MIR/X86/memory-operands.mir
@@ -35,6 +35,14 @@
!0 = !{i32 1}
+ define i32 @invariant_load(i32* %x) {
+ entry:
+ %v = load i32, i32* %x, !invariant.load !1
+ ret i32 %v
+ }
+
+ !1 = !{}
+
...
---
name: test
@@ -100,3 +108,18 @@ body:
- 'MOVNTImr killed %rdi, 1, _, 0, _, killed %esi :: (non-temporal store 4 into %ir.a)'
- RETQ
...
+---
+name: invariant_load
+tracksRegLiveness: true
+liveins:
+ - { reg: '%rdi' }
+body:
+ - id: 0
+ name: entry
+ liveins: [ '%rdi' ]
+ instructions:
+# CHECK: name: invariant_load
+# CHECK: %eax = MOV32rm killed %rdi, 1, _, 0, _ :: (invariant load 4 from %ir.x)
+ - '%eax = MOV32rm killed %rdi, 1, _, 0, _ :: (invariant load 4 from %ir.x)'
+ - 'RETQ %eax'
+...
OpenPOWER on IntegriCloud