Add testsuits for new assembler option of mthin-add-sub.
authorcailulu <cailulu@loongson.cn>
Thu, 28 Sep 2023 08:01:53 +0000 (16:01 +0800)
committerliuzhensong <liuzhensong@loongson.cn>
Sun, 8 Oct 2023 01:18:12 +0000 (09:18 +0800)
gas/testsuite/gas/loongarch/no_thin_add_sub.d [new file with mode: 0644]
gas/testsuite/gas/loongarch/no_thin_add_sub.s [new file with mode: 0644]
gas/testsuite/gas/loongarch/pcrel_norelax.d [deleted file]
gas/testsuite/gas/loongarch/pcrel_norelax.s [deleted file]
gas/testsuite/gas/loongarch/pcrel_relax.d [deleted file]
gas/testsuite/gas/loongarch/pcrel_relax.s [deleted file]
gas/testsuite/gas/loongarch/thin_add_sub_norelax.d [new file with mode: 0644]
gas/testsuite/gas/loongarch/thin_add_sub_norelax.s [new file with mode: 0644]
gas/testsuite/gas/loongarch/thin_add_sub_relax.d [new file with mode: 0644]
gas/testsuite/gas/loongarch/thin_add_sub_relax.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/loongarch/no_thin_add_sub.d b/gas/testsuite/gas/loongarch/no_thin_add_sub.d
new file mode 100644 (file)
index 0000000..614aca7
--- /dev/null
@@ -0,0 +1,66 @@
+#as:
+#objdump: -Dr
+
+.*:[    ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.L1>:
+[      ]+...
+[      ]+0:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+0:[   ]+R_LARCH_SUB32[        ]+.L1
+[      ]+4:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+4:[   ]+R_LARCH_SUB32[        ]+.L1
+
+0*00000008[    ]+<.L2>:
+[      ]+...
+[      ]+8:[   ]+R_LARCH_ADD64[        ]+.L3
+[      ]+8:[   ]+R_LARCH_SUB64[        ]+.L2
+[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L3
+[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L2
+
+Disassembly[   ]+of[   ]+section[      ]+sx:
+
+0*00000000[    ]+<.L3>:
+[      ]+0:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+8:[   ]+ffffffff[     ]+.word[        ]+0xffffffff
+
+0*0000000c[    ]+<.L4>:
+[      ]+...
+[      ]+c:[   ]+R_LARCH_ADD32[        ]+.L4
+[      ]+c:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L4
+[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L5
+
+Disassembly[   ]+of[   ]+section[      ]+sy:
+
+0*00000000[    ]+<.L5>:
+[      ]+...
+[      ]+0:[   ]+R_LARCH_ADD32[        ]+.L1
+[      ]+0:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+4:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+4:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+8:[   ]+R_LARCH_ADD64[        ]+.L1
+[      ]+8:[   ]+R_LARCH_SUB64[        ]+.L5
+[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L3
+[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L5
+
+Disassembly[   ]+of[   ]+section[      ]+sz:
+
+0*00000000[    ]+<sz>:
+[      ]+0:[   ]+00000000[     ]+.word[        ]+0x00000000
+[      ]+0:[   ]+R_LARCH_ADD32[        ]+.L1
+[      ]+0:[   ]+R_LARCH_SUB32[        ]+.L2
+[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+...
+[      ]+8:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+8:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+c:[   ]+R_LARCH_ADD64[        ]+.L1
+[      ]+c:[   ]+R_LARCH_SUB64[        ]+.L2
+[      ]+14:[  ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+18:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
+[      ]+...
+[      ]+1c:[  ]+R_LARCH_ADD64[        ]+.L3
+[      ]+1c:[  ]+R_LARCH_SUB64[        ]+.L5
diff --git a/gas/testsuite/gas/loongarch/no_thin_add_sub.s b/gas/testsuite/gas/loongarch/no_thin_add_sub.s
new file mode 100644 (file)
index 0000000..c680168
--- /dev/null
@@ -0,0 +1,44 @@
+  .section .text
+.L1:
+  # add32+sub32
+  .4byte .L3-.L1
+  .4byte .L3-.L1
+.L2:
+  # add64+sub64
+  .8byte .L3-.L2
+  .8byte .L3-.L2
+
+  .section sx
+.L3:
+  # no relocation
+  .4byte .L3-.L4
+  .8byte .L3-.L4
+.L4:
+  # add32+sub32
+  .4byte .L4-.L5
+  # add64+sub64
+  .8byte .L4-.L5
+
+  .section sy
+.L5:
+  # add32+sub32
+  .4byte .L1-.L5
+  .4byte .L3-.L5
+  # add64+sub64
+  .8byte .L1-.L5
+  .8byte .L3-.L5
+
+  .section sz
+  # add32+sub32
+  .4byte .L1-.L2
+  # no relocation
+  .4byte .L3-.L4
+  # add32+sub32
+  .4byte .L3-.L5
+
+  # add64+sub64
+  .8byte .L1-.L2
+  # no relocation
+  .8byte .L3-.L4
+  # add64+sub64
+  .8byte .L3-.L5
diff --git a/gas/testsuite/gas/loongarch/pcrel_norelax.d b/gas/testsuite/gas/loongarch/pcrel_norelax.d
deleted file mode 100644 (file)
index 842c8d4..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#as: -mno-relax
-#objdump: -Dr
-
-.*:[    ]+file format .*
-
-
-Disassembly of section .text:
-
-00000000.* <.L1>:
-[      ]+...
-[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L3
-[      ]+4:[   ]+R_LARCH_32_PCREL[     ]+.L3\+0x4
-
-0*00000008[ ]+<.L2>:
-[      ]+...
-[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L3
-[      ]+10:[  ]+R_LARCH_64_PCREL[     ]+.L3\+0x8
-
-Disassembly[   ]+of[   ]+section[      ]+sx:
-
-0*00000000[ ]+<.L3>:
-[      ]+0:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+8:[   ]+ffffffff[     ]+.word[        ]+0xffffffff
-
-0*0000000c[ ]+<.L4>:
-[      ]+...
-[      ]+c:[   ]+R_LARCH_ADD32[        ]+.L4
-[      ]+c:[   ]+R_LARCH_SUB32[        ]+.L5
-[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L4
-[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L5
-
-Disassembly[   ]+of[   ]+section[      ]+sy:
-
-0*00000000[ ]+<.L5>:
-[      ]+...
-[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L1
-[      ]+4:[   ]+R_LARCH_32_PCREL[     ]+.L2\+0x4
-[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L1\+0x8
-[      ]+10:[  ]+R_LARCH_64_PCREL[     ]+.L2\+0x10
-
-Disassembly[   ]+of[   ]+section[      ]+sz:
-
-0*00000000[ ]+<sz>:
-[      ]+0:[   ]+fffffff8[     ]+.word[        ]+0xfffffff8
-[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+8:[   ]+00000000[     ]+.word[        ]+0x00000000
-[      ]+8:[   ]+R_LARCH_ADD32[        ]+.L2
-[      ]+8:[   ]+R_LARCH_SUB32[        ]+.L3
-[      ]+c:[   ]+fffffff8[     ]+.word[        ]+0xfffffff8
-[      ]+10:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
-[      ]+14:[  ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+18:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
-[      ]+...
-[      ]+1c:[  ]+R_LARCH_ADD64[        ]+.L2
-[      ]+1c:[  ]+R_LARCH_SUB64[        ]+.L3
diff --git a/gas/testsuite/gas/loongarch/pcrel_norelax.s b/gas/testsuite/gas/loongarch/pcrel_norelax.s
deleted file mode 100644 (file)
index 09527f1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-  .section .text
-.L1:
-  # 32_pcrel
-  .4byte .L3-.L1
-  .4byte .L3-.L1
-.L2:
-  # 64_pcrel
-  .8byte .L3-.L2
-  .8byte .L3-.L2
-
-  .section sx
-.L3:
-  # no relocation
-  .4byte .L3-.L4
-  .8byte .L3-.L4
-.L4:
-  # add32+sub32
-  .4byte .L4-.L5
-  # add64+sub64
-  .8byte .L4-.L5
-
-  .section sy
-.L5:
-  # 32_pcrel
-  .4byte .L1-.L5
-  .4byte .L2-.L5
-  # 64_pcrel
-  .8byte .L1-.L5
-  .8byte .L2-.L5
-
-  .section sz
-  # no relocation
-  .4byte .L1-.L2
-  .4byte .L3-.L4
-  # add32+sub32
-  .4byte .L2-.L3
-
-  # no relocation
-  .8byte .L1-.L2
-  .8byte .L3-.L4
-  # add64+sub64
-  .8byte .L2-.L3
diff --git a/gas/testsuite/gas/loongarch/pcrel_relax.d b/gas/testsuite/gas/loongarch/pcrel_relax.d
deleted file mode 100644 (file)
index d6f8752..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#as:
-#objdump: -Dr
-
-.*:[    ]+file format .*
-
-
-Disassembly of section .text:
-
-00000000.* <.L1>:
-[      ]+...
-[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L3
-[      ]+4:[   ]+R_LARCH_ADD32[        ]+.L3
-[      ]+4:[   ]+R_LARCH_SUB32[        ]+.L1
-
-0*00000008[ ]+<.L2>:
-[      ]+...
-[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L3
-[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L3
-[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L2
-
-Disassembly[   ]+of[   ]+section[      ]+sx:
-
-0*00000000[ ]+<.L3>:
-[      ]+0:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+8:[   ]+ffffffff[     ]+.word[        ]+0xffffffff
-
-0*0000000c[ ]+<.L4>:
-[      ]+...
-[      ]+c:[   ]+R_LARCH_ADD32[        ]+.L4
-[      ]+c:[   ]+R_LARCH_SUB32[        ]+.L5
-[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L4
-[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L5
-
-Disassembly[   ]+of[   ]+section[      ]+sy:
-
-0*00000000[ ]+<.L5>:
-[      ]+...
-[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L1
-[      ]+4:[   ]+R_LARCH_32_PCREL[     ]+.L3\+0x4
-[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L1\+0x8
-[      ]+10:[  ]+R_LARCH_64_PCREL[     ]+.L3\+0x10
-
-Disassembly[   ]+of[   ]+section[      ]+sz:
-
-0*00000000[ ]+<sz>:
-[      ]+0:[   ]+00000000[     ]+.word[        ]+0x00000000
-[      ]+0:[   ]+R_LARCH_ADD32[        ]+.L1
-[      ]+0:[   ]+R_LARCH_SUB32[        ]+.L2
-[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+...
-[      ]+8:[   ]+R_LARCH_ADD32[        ]+.L3
-[      ]+8:[   ]+R_LARCH_SUB32[        ]+.L5
-[      ]+c:[   ]+R_LARCH_ADD64[        ]+.L1
-[      ]+c:[   ]+R_LARCH_SUB64[        ]+.L2
-[      ]+14:[  ]+fffffff4[     ]+.word[        ]+0xfffffff4
-[      ]+18:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
-[      ]+...
-[      ]+1c:[  ]+R_LARCH_ADD64[        ]+.L3
-[      ]+1c:[  ]+R_LARCH_SUB64[        ]+.L5
diff --git a/gas/testsuite/gas/loongarch/pcrel_relax.s b/gas/testsuite/gas/loongarch/pcrel_relax.s
deleted file mode 100644 (file)
index ded275f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-  .section .text
-.L1:
-  # 32_pcrel
-  .4byte .L3-.L1
-  # add32+sub32
-  .4byte .L3-.L1
-.L2:
-  # 64_pcrel
-  .8byte .L3-.L2
-  # add64+sub64
-  .8byte .L3-.L2
-
-  .section sx
-.L3:
-  # no relocation
-  .4byte .L3-.L4
-  .8byte .L3-.L4
-.L4:
-  # add32+sub32
-  .4byte .L4-.L5
-  # add64+sub64
-  .8byte .L4-.L5
-
-  .section sy
-.L5:
-  # 32_pcrel
-  .4byte .L1-.L5
-  .4byte .L3-.L5
-  # 64_pcrel
-  .8byte .L1-.L5
-  .8byte .L3-.L5
-
-  .section sz
-  # add32+sub32
-  .4byte .L1-.L2
-  # no relocation
-  .4byte .L3-.L4
-  # add32+sub32
-  .4byte .L3-.L5
-
-  #add64+sub64
-  .8byte .L1-.L2
-  # no relocation
-  .8byte .L3-.L4
-  #add64+sub64
-  .8byte .L3-.L5
diff --git a/gas/testsuite/gas/loongarch/thin_add_sub_norelax.d b/gas/testsuite/gas/loongarch/thin_add_sub_norelax.d
new file mode 100644 (file)
index 0000000..702093b
--- /dev/null
@@ -0,0 +1,53 @@
+#as: -mthin-add-sub -mno-relax
+#objdump: -Dr
+
+.*:[    ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.L1>:
+[      ]+...
+[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L3
+[      ]+4:[   ]+R_LARCH_32_PCREL[     ]+.L3\+0x4
+[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L3
+[      ]+10:[  ]+R_LARCH_64_PCREL[     ]+.L3\+0x8
+
+Disassembly[   ]+of[   ]+section[      ]+sx:
+
+0*00000000[    ]+<.L3>:
+[      ]+0:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+8:[   ]+ffffffff[     ]+.word[        ]+0xffffffff
+
+0*0000000c[    ]+<.L4>:
+[      ]+...
+[      ]+c:[   ]+R_LARCH_ADD32[        ]+.L4
+[      ]+c:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L4
+[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L5
+
+Disassembly[   ]+of[   ]+section[      ]+sy:
+
+0*00000000[    ]+<.L5>:
+[      ]+...
+[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L1
+[      ]+4:[   ]+R_LARCH_32_PCREL[     ]+.L3\+0x4
+[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L1\+0x8
+[      ]+10:[  ]+R_LARCH_64_PCREL[     ]+.L3\+0x10
+
+Disassembly[   ]+of[   ]+section[      ]+sz:
+
+0*00000000[    ]+<sz>:
+[      ]+0:[   ]+fffffff8[     ]+.word[        ]+0xfffffff8
+[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+8:[   ]+00000000[     ]+.word[        ]+0x00000000
+[      ]+8:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+8:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+c:[   ]+fffffff8[     ]+.word[        ]+0xfffffff8
+[      ]+10:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
+[      ]+14:[  ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+18:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
+[      ]+...
+[      ]+1c:[  ]+R_LARCH_ADD64[        ]+.L3
+[      ]+1c:[  ]+R_LARCH_SUB64[        ]+.L5
diff --git a/gas/testsuite/gas/loongarch/thin_add_sub_norelax.s b/gas/testsuite/gas/loongarch/thin_add_sub_norelax.s
new file mode 100644 (file)
index 0000000..94cfd90
--- /dev/null
@@ -0,0 +1,42 @@
+  .section .text
+.L1:
+  # 32_pcrel
+  .4byte .L3-.L1
+  .4byte .L3-.L1
+.L2:
+  # 64_pcrel
+  .8byte .L3-.L2
+  .8byte .L3-.L2
+
+  .section sx
+.L3:
+  # no relocation
+  .4byte .L3-.L4
+  .8byte .L3-.L4
+.L4:
+  # add32+sub32
+  .4byte .L4-.L5
+  # add64+sub64
+  .8byte .L4-.L5
+
+  .section sy
+.L5:
+  # 32_pcrel
+  .4byte .L1-.L5
+  .4byte .L3-.L5
+  # 64_pcrel
+  .8byte .L1-.L5
+  .8byte .L3-.L5
+
+  .section sz
+  # no relocation
+  .4byte .L1-.L2
+  .4byte .L3-.L4
+  # add32+sub32
+  .4byte .L3-.L5
+
+  # no relocation
+  .8byte .L1-.L2
+  .8byte .L3-.L4
+  # add64+sub64
+  .8byte .L3-.L5
diff --git a/gas/testsuite/gas/loongarch/thin_add_sub_relax.d b/gas/testsuite/gas/loongarch/thin_add_sub_relax.d
new file mode 100644 (file)
index 0000000..9455c3e
--- /dev/null
@@ -0,0 +1,60 @@
+#as: -mthin-add-sub
+#objdump: -Dr
+
+.*:[    ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.L1>:
+[      ]+...
+[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L3
+[      ]+4:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+4:[   ]+R_LARCH_SUB32[        ]+.L1
+
+0*00000008[    ]+<.L2>:
+[      ]+...
+[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L3
+[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L3
+[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L2
+
+Disassembly[   ]+of[   ]+section[      ]+sx:
+
+0*00000000[    ]+<.L3>:
+[      ]+0:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+8:[   ]+ffffffff[     ]+.word[        ]+0xffffffff
+
+0*0000000c[    ]+<.L4>:
+[      ]+...
+[      ]+c:[   ]+R_LARCH_ADD32[        ]+.L4
+[      ]+c:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+10:[  ]+R_LARCH_ADD64[        ]+.L4
+[      ]+10:[  ]+R_LARCH_SUB64[        ]+.L5
+
+Disassembly[   ]+of[   ]+section[      ]+sy:
+
+0*00000000[    ]+<.L5>:
+[      ]+...
+[      ]+0:[   ]+R_LARCH_32_PCREL[     ]+.L1
+[      ]+4:[   ]+R_LARCH_32_PCREL[     ]+.L3\+0x4
+[      ]+8:[   ]+R_LARCH_64_PCREL[     ]+.L1\+0x8
+[      ]+10:[  ]+R_LARCH_64_PCREL[     ]+.L3\+0x10
+
+Disassembly[   ]+of[   ]+section[      ]+sz:
+
+0*00000000[    ]+<sz>:
+[      ]+0:[   ]+00000000[     ]+.word[        ]+0x00000000
+[      ]+0:[   ]+R_LARCH_ADD32[        ]+.L1
+[      ]+0:[   ]+R_LARCH_SUB32[        ]+.L2
+[      ]+4:[   ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+...
+[      ]+8:[   ]+R_LARCH_ADD32[        ]+.L3
+[      ]+8:[   ]+R_LARCH_SUB32[        ]+.L5
+[      ]+c:[   ]+R_LARCH_ADD64[        ]+.L1
+[      ]+c:[   ]+R_LARCH_SUB64[        ]+.L2
+[      ]+14:[  ]+fffffff4[     ]+.word[        ]+0xfffffff4
+[      ]+18:[  ]+ffffffff[     ]+.word[        ]+0xffffffff
+[      ]+...
+[      ]+1c:[  ]+R_LARCH_ADD64[        ]+.L3
+[      ]+1c:[  ]+R_LARCH_SUB64[        ]+.L5
diff --git a/gas/testsuite/gas/loongarch/thin_add_sub_relax.s b/gas/testsuite/gas/loongarch/thin_add_sub_relax.s
new file mode 100644 (file)
index 0000000..ded275f
--- /dev/null
@@ -0,0 +1,46 @@
+  .section .text
+.L1:
+  # 32_pcrel
+  .4byte .L3-.L1
+  # add32+sub32
+  .4byte .L3-.L1
+.L2:
+  # 64_pcrel
+  .8byte .L3-.L2
+  # add64+sub64
+  .8byte .L3-.L2
+
+  .section sx
+.L3:
+  # no relocation
+  .4byte .L3-.L4
+  .8byte .L3-.L4
+.L4:
+  # add32+sub32
+  .4byte .L4-.L5
+  # add64+sub64
+  .8byte .L4-.L5
+
+  .section sy
+.L5:
+  # 32_pcrel
+  .4byte .L1-.L5
+  .4byte .L3-.L5
+  # 64_pcrel
+  .8byte .L1-.L5
+  .8byte .L3-.L5
+
+  .section sz
+  # add32+sub32
+  .4byte .L1-.L2
+  # no relocation
+  .4byte .L3-.L4
+  # add32+sub32
+  .4byte .L3-.L5
+
+  #add64+sub64
+  .8byte .L1-.L2
+  # no relocation
+  .8byte .L3-.L4
+  #add64+sub64
+  .8byte .L3-.L5