[llvm-commits] [PATCH] VST1.32 with writeback incorrectly encoded

Jim Grosbach grosbach at apple.com
Tue Mar 27 09:22:42 PDT 2012


Hi Richard,

Instead of creating a new class, VST1LN32WB, I suggest parameterizing the type of $Rn and just passing it in when the defs are instantiated. You can see examples on the various classes that accept an "Operand" type operand.

-Jim


On Mar 27, 2012, at 5:55 AM, Richard Barton <richard.barton at arm.com> wrote:

> Hello
> 
> The following is the instruction being encoded incorrectly by clang
> -integrated-as
> 
> vst1.32 {d27[1]}, [r9, :32]!
> 
> GNU assembler encodes this as
> 
> f4c9b8bd            vst1.32 {d27[1]}, [r9 :32]!
> 
> LLVM encodes this as (llvm-mc output)
> 
> vst1.32 {d27[1]}, [r9, :32]!    @ encoding: [0x9d,0xb8,0xc9,0xf4]
> 
> Notice that the last byte encoding is wrong; it should be 0xbd instead of 0x9d
> 
> The problem is that there is a special tablegen class for VST1.32 which does not
> have a writeback version. This is a simple patch to add this class, with a
> regression test for this instruction encoding.
> 
> Please review
> 
> Regards,
> Richard Barton<vst1.32.patch>




More information about the llvm-commits mailing list