[PATCH] Allow encoded 8-bit floating point constants in ARM vmov instructions

Jim Grosbach grosbach at apple.com
Mon Dec 16 17:26:17 PST 2013


On Dec 16, 2013, at 5:21 PM, David Peixotto <dpeixott at codeaurora.org> wrote:

>> Why do we want fconstf/fconstd aliases? Those are pre-unified syntax
>> instructions, which we're trying to remove from LLVM, not add.
> 
> Mainly because I see these instructions still appearing in code and gcc
> accepts them.  We already support a number of aliases for pre-unified syntax
> (e.g. flds, fldd). I count at least 40 in lib/Target/ARM/ARMInstrVFP.td. 

All of which I would very much like to remove. In retrospect, it was an error to add the ones we (I) did. It was convenient at the time, but the wrong precedent to set.

> Is there a reason not to support them? I think they maps fairly cleanly to
> the vmov.f32/vmov.f64 instructions.

It’s explicitly adding support for an assembly syntax that has been obsoleted by ARM for over 6 years now and which ARM has indicated they have no interest in supporting. Adding more support for divided syntax increases the maintenance cost of LLVM’s ARM assembly parser, which is already a bit overcomplicated. Projects still using divided syntax should be fixed to use unified syntax instead.

-Jim



More information about the llvm-commits mailing list