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/expected-size-integer-after-memory-operation.mir2
-rw-r--r--llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir24
-rw-r--r--llvm/test/CodeGen/MIR/X86/memory-operands.mir29
3 files changed, 53 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir b/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
index 3666c8499b8..537f25e8b06 100644
--- a/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
+++ b/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation.mir
@@ -17,7 +17,7 @@ liveins:
body: |
bb.0.entry:
liveins: $rdi
- ; CHECK: [[@LINE+1]]:53: expected an atomic scope, ordering or a size integer literal
+ ; CHECK: [[@LINE+1]]:53: expected an atomic scope, ordering or a size specification
$eax = MOV32rm killed $rdi, 1, _, 0, _ :: (load from %ir.a)
RETQ $eax
...
diff --git a/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir b/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir
new file mode 100644
index 00000000000..4a80455425d
--- /dev/null
+++ b/llvm/test/CodeGen/MIR/X86/expected-size-integer-after-memory-operation2.mir
@@ -0,0 +1,24 @@
+# RUN: not llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
+
+--- |
+
+ define i32 @test(i32* %a) {
+ entry:
+ %b = load i32, i32* %a
+ ret i32 %b
+ }
+
+...
+---
+name: test
+tracksRegLiveness: true
+liveins:
+ - { reg: '$rdi' }
+body: |
+ bb.0.entry:
+ liveins: $rdi
+ ; CHECK: [[@LINE+1]]:53: expected the size integer literal or 'unknown-size' after memory operation
+ $eax = MOV32rm killed $rdi, 1, _, 0, _ :: (load . from %ir.a)
+ RETQ $eax
+...
+
diff --git a/llvm/test/CodeGen/MIR/X86/memory-operands.mir b/llvm/test/CodeGen/MIR/X86/memory-operands.mir
index 85e31c09d1c..2ac7bea2fc9 100644
--- a/llvm/test/CodeGen/MIR/X86/memory-operands.mir
+++ b/llvm/test/CodeGen/MIR/X86/memory-operands.mir
@@ -189,6 +189,8 @@
define void @dummy0() { ret void }
define void @dummy1() { ret void }
+ define void @dummy2() { ret void }
+ define void @dummy3() { ret void }
...
---
name: test
@@ -532,5 +534,30 @@ body: |
bb.0:
$rax = MOV64rm $rsp, 1, _, 0, _ :: (load 8 from %stack.0)
RETQ $rax
-
+...
+---
+# Test parsing of unknown size in machine memory operands without alignment.
+# CHECK-LABEL: name: dummy2
+# CHECK: $rax = MOV64rm $rsp, 1, $noreg, 0, $noreg :: (load unknown-size from %stack.0, align 1)
+name: dummy2
+tracksRegLiveness: true
+stack:
+ - { id: 0, size: 4, alignment: 4 }
+body: |
+ bb.0:
+ $rax = MOV64rm $rsp, 1, _, 0, _ :: (load unknown-size from %stack.0)
+ RETQ $rax
+...
+---
+# Test parsing of unknown size in machine memory operands with alignment.
+# CHECK-LABEL: name: dummy3
+# CHECK: $rax = MOV64rm $rsp, 1, $noreg, 0, $noreg :: (load unknown-size from %stack.0, align 4)
+name: dummy3
+tracksRegLiveness: true
+stack:
+ - { id: 0, size: 4, alignment: 4 }
+body: |
+ bb.0:
+ $rax = MOV64rm $rsp, 1, _, 0, _ :: (load unknown-size from %stack.0, align 4)
+ RETQ $rax
...
OpenPOWER on IntegriCloud