# 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