summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/MC/ELF/relax-all-flag.s19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/MC/ELF/relax-all-flag.s b/test/MC/ELF/relax-all-flag.s
new file mode 100644
index 0000000000..4c1c78c392
--- /dev/null
+++ b/test/MC/ELF/relax-all-flag.s
@@ -0,0 +1,19 @@
+// By default, the jmp here does not need relaxation (so the 0xeb opdoce can be
+// used).
+// However, with -mc-relax-all passed to MC, all jumps are relaxed and we
+// expect to see a different instruction.
+
+// RUN: llvm-mc -filetype=obj -mc-relax-all -triple x86_64-pc-linux-gnu %s -o - \
+// RUN: | llvm-objdump -disassemble - | FileCheck -check-prefix=RELAXALL %s
+
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
+// RUN: | llvm-objdump -disassemble - | FileCheck %s
+
+.text
+foo:
+ mov %rax, %rax
+ jmp foo
+
+// RELAXALL: 3: e9
+// CHECK: 3: eb
+