Home | History | Annotate | Download | only in arm
      1 @ LDC group relocation tests.
      2 
      3 	.text
      4 
      5 @ LDC/LDCL/LDC2/LDC2L/STC/STCL/STC2/STC2L
      6 
      7 	.macro ldctest load store
      8 
      9 	\load	0, c0, [r0, #:pc_g0:(f + 0x214)]
     10 	\load	0, c0, [r0, #:pc_g1:(f + 0x214)]
     11 	\load	0, c0, [r0, #:pc_g2:(f + 0x214)]
     12 
     13 	\load	0, c0, [r0, #:sb_g0:(f + 0x214)]
     14 	\load	0, c0, [r0, #:sb_g1:(f + 0x214)]
     15 	\load	0, c0, [r0, #:sb_g2:(f + 0x214)]
     16 
     17 	\store	0, c0, [r0, #:pc_g0:(f + 0x214)]
     18 	\store	0, c0, [r0, #:pc_g1:(f + 0x214)]
     19 	\store	0, c0, [r0, #:pc_g2:(f + 0x214)]
     20 
     21 	\store	0, c0, [r0, #:sb_g0:(f + 0x214)]
     22 	\store	0, c0, [r0, #:sb_g1:(f + 0x214)]
     23 	\store	0, c0, [r0, #:sb_g2:(f + 0x214)]
     24 
     25 	\load	0, c0, [r0, #:pc_g0:(f - 0x214)]
     26 	\load	0, c0, [r0, #:pc_g1:(f - 0x214)]
     27 	\load	0, c0, [r0, #:pc_g2:(f - 0x214)]
     28 
     29 	\load	0, c0, [r0, #:sb_g0:(f - 0x214)]
     30 	\load	0, c0, [r0, #:sb_g1:(f - 0x214)]
     31 	\load	0, c0, [r0, #:sb_g2:(f - 0x214)]
     32 
     33 	\store	0, c0, [r0, #:pc_g0:(f - 0x214)]
     34 	\store	0, c0, [r0, #:pc_g1:(f - 0x214)]
     35 	\store	0, c0, [r0, #:pc_g2:(f - 0x214)]
     36 
     37 	\store	0, c0, [r0, #:sb_g0:(f - 0x214)]
     38 	\store	0, c0, [r0, #:sb_g1:(f - 0x214)]
     39 	\store	0, c0, [r0, #:sb_g2:(f - 0x214)]
     40 
     41 	.endm
     42 
     43 	ldctest ldc stc
     44 	ldctest ldcl stcl
     45 	ldctest ldc2 stc2
     46 	ldctest ldc2l stc2l
     47 
     48 @ LDFS/STFS/LDFD/STFD/LDFE/STFE/LDFP/STFP
     49 
     50 	.fpu	fpa
     51 
     52 	.macro	fpa_test load store
     53 
     54 	\load	f0, [r0, #:pc_g0:(f + 0x214)]
     55 	\load	f0, [r0, #:pc_g1:(f + 0x214)]
     56 	\load	f0, [r0, #:pc_g2:(f + 0x214)]
     57 
     58 	\load	f0, [r0, #:sb_g0:(f + 0x214)]
     59 	\load	f0, [r0, #:sb_g1:(f + 0x214)]
     60 	\load	f0, [r0, #:sb_g2:(f + 0x214)]
     61 
     62 	\store	f0, [r0, #:pc_g0:(f + 0x214)]
     63 	\store	f0, [r0, #:pc_g1:(f + 0x214)]
     64 	\store	f0, [r0, #:pc_g2:(f + 0x214)]
     65 
     66 	\store	f0, [r0, #:sb_g0:(f + 0x214)]
     67 	\store	f0, [r0, #:sb_g1:(f + 0x214)]
     68 	\store	f0, [r0, #:sb_g2:(f + 0x214)]
     69 
     70 	\load	f0, [r0, #:pc_g0:(f - 0x214)]
     71 	\load	f0, [r0, #:pc_g1:(f - 0x214)]
     72 	\load	f0, [r0, #:pc_g2:(f - 0x214)]
     73 
     74 	\load	f0, [r0, #:sb_g0:(f - 0x214)]
     75 	\load	f0, [r0, #:sb_g1:(f - 0x214)]
     76 	\load	f0, [r0, #:sb_g2:(f - 0x214)]
     77 
     78 	\store	f0, [r0, #:pc_g0:(f - 0x214)]
     79 	\store	f0, [r0, #:pc_g1:(f - 0x214)]
     80 	\store	f0, [r0, #:pc_g2:(f - 0x214)]
     81 
     82 	\store	f0, [r0, #:sb_g0:(f - 0x214)]
     83 	\store	f0, [r0, #:sb_g1:(f - 0x214)]
     84 	\store	f0, [r0, #:sb_g2:(f - 0x214)]
     85 
     86 	.endm
     87 
     88 	fpa_test ldfs stfs
     89 	fpa_test ldfd stfd
     90 	fpa_test ldfe stfe
     91 	fpa_test ldfp stfp
     92 
     93 @ FLDS/FSTS
     94 
     95 	.fpu	vfp
     96 
     97 	.macro vfp_test load store reg
     98 
     99 	\load	\reg, [r0, #:pc_g0:(f + 0x214)]
    100 	\load	\reg, [r0, #:pc_g1:(f + 0x214)]
    101 	\load	\reg, [r0, #:pc_g2:(f + 0x214)]
    102 
    103 	\load	\reg, [r0, #:sb_g0:(f + 0x214)]
    104 	\load	\reg, [r0, #:sb_g1:(f + 0x214)]
    105 	\load	\reg, [r0, #:sb_g2:(f + 0x214)]
    106 
    107 	\store	\reg, [r0, #:pc_g0:(f + 0x214)]
    108 	\store	\reg, [r0, #:pc_g1:(f + 0x214)]
    109 	\store	\reg, [r0, #:pc_g2:(f + 0x214)]
    110 
    111 	\store	\reg, [r0, #:sb_g0:(f + 0x214)]
    112 	\store	\reg, [r0, #:sb_g1:(f + 0x214)]
    113 	\store	\reg, [r0, #:sb_g2:(f + 0x214)]
    114 
    115 	\load	\reg, [r0, #:pc_g0:(f - 0x214)]
    116 	\load	\reg, [r0, #:pc_g1:(f - 0x214)]
    117 	\load	\reg, [r0, #:pc_g2:(f - 0x214)]
    118 
    119 	\load	\reg, [r0, #:sb_g0:(f - 0x214)]
    120 	\load	\reg, [r0, #:sb_g1:(f - 0x214)]
    121 	\load	\reg, [r0, #:sb_g2:(f - 0x214)]
    122 
    123 	\store	\reg, [r0, #:pc_g0:(f - 0x214)]
    124 	\store	\reg, [r0, #:pc_g1:(f - 0x214)]
    125 	\store	\reg, [r0, #:pc_g2:(f - 0x214)]
    126 
    127 	\store	\reg, [r0, #:sb_g0:(f - 0x214)]
    128 	\store	\reg, [r0, #:sb_g1:(f - 0x214)]
    129 	\store	\reg, [r0, #:sb_g2:(f - 0x214)]
    130 
    131 	.endm
    132 
    133 	vfp_test flds fsts s0
    134 
    135 @ FLDD/FSTD
    136 
    137 	vfp_test fldd fstd d0
    138 
    139 @ VLDR/VSTR
    140 
    141 	vfp_test vldr vstr d0
    142 
    143 @ CFLDRS/CFLDRD/CFLDR32/CFLDR64/CFSTRS/CFSTRD/CFSTR32/CFSTR64
    144 
    145 	.cpu	ep9312
    146 
    147 	vfp_test cfldrs cfstrs mvf0
    148 	vfp_test cfldrd cfstrd mvd0
    149 	vfp_test cfldr32 cfstr32 mvfx0
    150 	vfp_test cfldr64 cfstr64 mvdx0
    151 
    152