MIPS gcc `leasi' pattern vs. binutils 'la' pseudo-op.

Ulf Carlsson ulfc@calypso.engr.sgi.com
Tue Jun 27 00:37:00 GMT 2000


Hi Chris, 

 > 	[ 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.

Ulf


More information about the Binutils mailing list