MIPS gcc `leasi' pattern vs. binutils 'la' pseudo-op.
Tue Jun 27 00:37:00 GMT 2000
> [ addr is in $2 ]
> la $2,-2147483648($2)
> li $3,1073676288 # 0x3fff0000
> ori $3,$3,0xffff
> sltu $3,$3,$2
> using the leasi pattern. gas (again -mips3) assembles that `la' into:
> 400514: 3c018000 lui $at,0x8000
> 400518: 0022102d daddu $v0,$at,$v0
I think this is what gas is expected to do. IRIX as actually tries to
do the same thing, even though it does it wrong.
More information about the Binutils