blob: 135b42da1984ede6c65ef97fb9fa58a626615b24 [file] [log] [blame]
# 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
.align 12
.sbss
.align 12
.data
.align 12
data_label:
.extern big_external_data_label,1000
.extern small_external_data_label,1
.comm big_external_common,1000
.comm small_external_common,1
.lcomm big_local_common,1000
.lcomm small_local_common,1
.endm
.ifndef forward
data
.endif
.text
.align 12
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
.space 8
.ifdef forward
data
.endif