-# Source file used to test the ld macro.
+# Source file used to test the doubleword memory access macros
+# (ld and friends).
+
+# By default test ld.
+ .set r4, $4
+
+# If defined, test sd instead.
+ .ifdef tsd
+ .macro ld ops:vararg
+ sd \ops
+ .endm
+ .endif
+# If defined, test l.d instead.
+ .ifdef tl_d
+ .set r4, $f4
+ .macro ld ops:vararg
+ l.d \ops
+ .endm
+ .endif
+# If defined, test s.d instead.
+ .ifdef ts_d
+ .set r4, $f4
+ .macro ld ops:vararg
+ s.d \ops
+ .endm
+ .endif
+# If defined, test ldc1 instead.
+ .ifdef tldc1
+ .set r4, $f4
+ .macro ld ops:vararg
+ ldc1 \ops
+ .endm
+ .endif
+# If defined, test sdc1 instead.
+ .ifdef tsdc1
+ .set r4, $f4
+ .macro ld ops:vararg
+ sdc1 \ops
+ .endm
+ .endif
.macro data
.bss
.text
.align 12
- ld $4,0
- ld $4,1
- ld $4,0x8000
- ld $4,-0x8000
- ld $4,0x10000
- ld $4,0x1a5a5
- ld $4,0($5)
- ld $4,1($5)
- ld $4,0x8000($5)
- ld $4,-0x8000($5)
- ld $4,0x10000($5)
- ld $4,0x1a5a5($5)
- ld $4,data_label
- ld $4,big_external_data_label
- ld $4,small_external_data_label
- ld $4,big_external_common
- ld $4,small_external_common
- ld $4,big_local_common
- ld $4,small_local_common
- ld $4,data_label+1
- ld $4,big_external_data_label+1
- ld $4,small_external_data_label+1
- ld $4,big_external_common+1
- ld $4,small_external_common+1
- ld $4,big_local_common+1
- ld $4,small_local_common+1
- ld $4,data_label+0x8000
- ld $4,big_external_data_label+0x8000
- ld $4,small_external_data_label+0x8000
- ld $4,big_external_common+0x8000
- ld $4,small_external_common+0x8000
- ld $4,big_local_common+0x8000
- ld $4,small_local_common+0x8000
- ld $4,data_label-0x8000
- ld $4,big_external_data_label-0x8000
- ld $4,small_external_data_label-0x8000
- ld $4,big_external_common-0x8000
- ld $4,small_external_common-0x8000
- ld $4,big_local_common-0x8000
- ld $4,small_local_common-0x8000
- ld $4,data_label+0x10000
- ld $4,big_external_data_label+0x10000
- ld $4,small_external_data_label+0x10000
- ld $4,big_external_common+0x10000
- ld $4,small_external_common+0x10000
- ld $4,big_local_common+0x10000
- ld $4,small_local_common+0x10000
- ld $4,data_label+0x1a5a5
- ld $4,big_external_data_label+0x1a5a5
- ld $4,small_external_data_label+0x1a5a5
- ld $4,big_external_common+0x1a5a5
- ld $4,small_external_common+0x1a5a5
- ld $4,big_local_common+0x1a5a5
- ld $4,small_local_common+0x1a5a5
- ld $4,data_label($5)
- ld $4,big_external_data_label($5)
- ld $4,small_external_data_label($5)
- ld $4,big_external_common($5)
- ld $4,small_external_common($5)
- ld $4,big_local_common($5)
- ld $4,small_local_common($5)
- ld $4,data_label+1($5)
- ld $4,big_external_data_label+1($5)
- ld $4,small_external_data_label+1($5)
- ld $4,big_external_common+1($5)
- ld $4,small_external_common+1($5)
- ld $4,big_local_common+1($5)
- ld $4,small_local_common+1($5)
- ld $4,data_label+0x8000($5)
- ld $4,big_external_data_label+0x8000($5)
- ld $4,small_external_data_label+0x8000($5)
- ld $4,big_external_common+0x8000($5)
- ld $4,small_external_common+0x8000($5)
- ld $4,big_local_common+0x8000($5)
- ld $4,small_local_common+0x8000($5)
- ld $4,data_label-0x8000($5)
- ld $4,big_external_data_label-0x8000($5)
- ld $4,small_external_data_label-0x8000($5)
- ld $4,big_external_common-0x8000($5)
- ld $4,small_external_common-0x8000($5)
- ld $4,big_local_common-0x8000($5)
- ld $4,small_local_common-0x8000($5)
- ld $4,data_label+0x10000($5)
- ld $4,big_external_data_label+0x10000($5)
- ld $4,small_external_data_label+0x10000($5)
- ld $4,big_external_common+0x10000($5)
- ld $4,small_external_common+0x10000($5)
- ld $4,big_local_common+0x10000($5)
- ld $4,small_local_common+0x10000($5)
- ld $4,data_label+0x1a5a5($5)
- ld $4,big_external_data_label+0x1a5a5($5)
- ld $4,small_external_data_label+0x1a5a5($5)
- ld $4,big_external_common+0x1a5a5($5)
- ld $4,small_external_common+0x1a5a5($5)
- ld $4,big_local_common+0x1a5a5($5)
- ld $4,small_local_common+0x1a5a5($5)
+text_label:
+ ld r4,0
+ ld r4,1
+ ld r4,0x8000
+ ld r4,-0x8000
+ ld r4,0x10000
+ ld r4,0x1a5a5
+ ld r4,0($5)
+ ld r4,1($5)
+ ld r4,0x8000($5)
+ ld r4,-0x8000($5)
+ ld r4,0x10000($5)
+ ld r4,0x1a5a5($5)
+ ld r4,data_label
+ ld r4,big_external_data_label
+ ld r4,small_external_data_label
+ ld r4,big_external_common
+ ld r4,small_external_common
+ ld r4,big_local_common
+ ld r4,small_local_common
+ ld r4,data_label+1
+ ld r4,big_external_data_label+1
+ ld r4,small_external_data_label+1
+ ld r4,big_external_common+1
+ ld r4,small_external_common+1
+ ld r4,big_local_common+1
+ ld r4,small_local_common+1
+ ld r4,data_label+0x8000
+ ld r4,big_external_data_label+0x8000
+ ld r4,small_external_data_label+0x8000
+ ld r4,big_external_common+0x8000
+ ld r4,small_external_common+0x8000
+ ld r4,big_local_common+0x8000
+ ld r4,small_local_common+0x8000
+ ld r4,data_label-0x8000
+ ld r4,big_external_data_label-0x8000
+ ld r4,small_external_data_label-0x8000
+ ld r4,big_external_common-0x8000
+ ld r4,small_external_common-0x8000
+ ld r4,big_local_common-0x8000
+ ld r4,small_local_common-0x8000
+ ld r4,data_label+0x10000
+ ld r4,big_external_data_label+0x10000
+ ld r4,small_external_data_label+0x10000
+ ld r4,big_external_common+0x10000
+ ld r4,small_external_common+0x10000
+ ld r4,big_local_common+0x10000
+ ld r4,small_local_common+0x10000
+ ld r4,data_label+0x1a5a5
+ ld r4,big_external_data_label+0x1a5a5
+ ld r4,small_external_data_label+0x1a5a5
+ ld r4,big_external_common+0x1a5a5
+ ld r4,small_external_common+0x1a5a5
+ ld r4,big_local_common+0x1a5a5
+ ld r4,small_local_common+0x1a5a5
+ ld r4,data_label($5)
+ ld r4,big_external_data_label($5)
+ ld r4,small_external_data_label($5)
+ ld r4,big_external_common($5)
+ ld r4,small_external_common($5)
+ ld r4,big_local_common($5)
+ ld r4,small_local_common($5)
+ ld r4,data_label+1($5)
+ ld r4,big_external_data_label+1($5)
+ ld r4,small_external_data_label+1($5)
+ ld r4,big_external_common+1($5)
+ ld r4,small_external_common+1($5)
+ ld r4,big_local_common+1($5)
+ ld r4,small_local_common+1($5)
+ ld r4,data_label+0x8000($5)
+ ld r4,big_external_data_label+0x8000($5)
+ ld r4,small_external_data_label+0x8000($5)
+ ld r4,big_external_common+0x8000($5)
+ ld r4,small_external_common+0x8000($5)
+ ld r4,big_local_common+0x8000($5)
+ ld r4,small_local_common+0x8000($5)
+ ld r4,data_label-0x8000($5)
+ ld r4,big_external_data_label-0x8000($5)
+ ld r4,small_external_data_label-0x8000($5)
+ ld r4,big_external_common-0x8000($5)
+ ld r4,small_external_common-0x8000($5)
+ ld r4,big_local_common-0x8000($5)
+ ld r4,small_local_common-0x8000($5)
+ ld r4,data_label+0x10000($5)
+ ld r4,big_external_data_label+0x10000($5)
+ ld r4,small_external_data_label+0x10000($5)
+ ld r4,big_external_common+0x10000($5)
+ ld r4,small_external_common+0x10000($5)
+ ld r4,big_local_common+0x10000($5)
+ ld r4,small_local_common+0x10000($5)
+ ld r4,data_label+0x1a5a5($5)
+ ld r4,big_external_data_label+0x1a5a5($5)
+ ld r4,small_external_data_label+0x1a5a5($5)
+ ld r4,big_external_common+0x1a5a5($5)
+ ld r4,small_external_common+0x1a5a5($5)
+ ld r4,big_local_common+0x1a5a5($5)
+ ld r4,small_local_common+0x1a5a5($5)
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.align 2