ARM: 2 opcodes for expdz instruction

Richard Earnshaw Richard.Earnshaw@foss.arm.com
Tue Aug 18 22:10:47 GMT 2020


On 18/08/2020 21:44, Martin Liška wrote:
> On 8/18/20 8:48 PM, Joe Abbey wrote:
>> The second form "0xee788160" is almost certainly supposed to be "expez"
>>
>> http://netwinder.osuosl.org/pub/netwinder/docs/arm/ARM7500FEvB_5.pdf
> 
> Neat.
> 
>>
>> Likely never noticed because:
>>
>> It is recommended that the following floating-point operations are
>> implemented with
>> calls
>> • power
>> to an appropriate library (for example, the C library):
>> • reverse power
>> • polar angle
>> • logarithm base 10
>> • logarithm base e
>> • exponent
>> • sine
>> • cosine
>> • tangent
>> • arc sine
>> • arc cosine
>> • arc tangent
>> However, for backwards compatibility with existing floating-point
>> code, the following floating-point mnemonics are defined in the ARM
>> floating-point instruction set. These opcodes are treated by the FPA
>> as undefined instructions, and must be handled by support code, which
>> is less efficient than using library calls
> 
> I see.
> 
> Can you please send a patch that will make the rename?
> 

I really wouldn't bother.  FPA has been obsolete for over 15 years (and
it's well over 5 since all support in GCC was removed).

If it's wrong and hasn't been noticed before now then that's just
evidence that nobody really cares about this.

R.

> Thanks,
> Martin
> 
>>
>>
>> On Tue, Aug 18, 2020 at 1:11 PM Martin Liška <mliska@suse.cz
>> <mailto:mliska@suse.cz>> wrote:
>>
>>     Hello.
>>
>>
>>
>>     It's a hairy code, but Richard added in
>> 90e4755aeeb129a7d77334596bc7853ca7b95c67:
>>
>>
>>
>>     $ git show 90e4755aeeb129a7d77334596bc7853ca7b95c67 | grep expdz
>>
>>     +  {"expdz",      0xee7081e0, 3,  FPU_FPA_EXT_V1,   do_fpa_monadic},
>>
>>     +  {"expdz",      0xee788160, 3,  FPU_FPA_EXT_V1,   do_fpa_monadic},
>>
>>
>>
>>     So the instruction has 2 opcodes. Is it a typo?
>>
>>
>>
>>     Thanks,
>>
>>     Martin
>>
> 



More information about the Binutils mailing list