Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

[ARM] Convert more invalid NEON immediate loads

Authored by miyuki on Mar 14 2018, 7:16 AM.



Currently the LLVM MC assembler is able to convert e.g.

vmov.i32 d0, #0xabababab

(which is technically invalid) into a valid instruction

vmov.i8 d0, #0xab

this patch adds support for vmov.i64 and for cases with the resulting
load types other than i8, e.g.:

vmov.i32 d0, #0xab00ab00 ->
vmov.i16 d0, #0xab00

Diff Detail


Event Timeline

miyuki created this revision.Mar 14 2018, 7:16 AM

Nice cleanup!

The patch is looking really good. I think you can just rename vmov-vmvn-byte-replicate.s to vmov-vmvn-replicate.s and put all the tests together.

Just make sure you have the same number of check lines as you have tests and it should be good to go, thanks!

28 ↗(On Diff #138348)

Didn't add check lies for those

39 ↗(On Diff #138348)

or those

miyuki updated this revision to Diff 138530.Mar 15 2018, 4:53 AM

Merged two test cases, added missing @ CHECKs

rengolin accepted this revision.Mar 15 2018, 5:15 AM

LGTM, thanks!

This revision is now accepted and ready to land.Mar 15 2018, 5:15 AM
This revision was automatically updated to reflect the committed changes.