aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/SystemZ/insn-brasl-01.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/SystemZ/insn-brasl-01.s')
-rw-r--r--test/MC/SystemZ/insn-brasl-01.s31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/MC/SystemZ/insn-brasl-01.s b/test/MC/SystemZ/insn-brasl-01.s
new file mode 100644
index 0000000..86d0ced
--- /dev/null
+++ b/test/MC/SystemZ/insn-brasl-01.s
@@ -0,0 +1,31 @@
+# RUN: llvm-mc -triple s390x-linux-gnu -show-encoding %s | FileCheck %s
+
+#CHECK: brasl %r0, foo # encoding: [0xc0,0x05,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: brasl %r14, foo # encoding: [0xc0,0xe5,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+#CHECK: brasl %r15, foo # encoding: [0xc0,0xf5,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
+ brasl %r0,foo
+ brasl %r14,foo
+ brasl %r15,foo
+
+#CHECK: brasl %r0, bar+100 # encoding: [0xc0,0x05,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#CHECK: brasl %r14, bar+100 # encoding: [0xc0,0xe5,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+#CHECK: brasl %r15, bar+100 # encoding: [0xc0,0xf5,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
+ brasl %r0,bar+100
+ brasl %r14,bar+100
+ brasl %r15,bar+100
+
+#CHECK: brasl %r0, bar@PLT # encoding: [0xc0,0x05,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
+#CHECK: brasl %r14, bar@PLT # encoding: [0xc0,0xe5,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
+#CHECK: brasl %r15, bar@PLT # encoding: [0xc0,0xf5,A,A,A,A]
+#CHECK: fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
+ brasl %r0,bar@PLT
+ brasl %r14,bar@PLT
+ brasl %r15,bar@PLT