On ARM NEON, VAND with immediate (16/32 bits) is an alias to VBIC ~imm with
the same type size. Adding that logic to the parser, and generating VBIC
instructions from VAND asm files.
Fixes PR20702.
Paths
| Differential D5263
Add aliases for VAND imm to VBIC ~imm ClosedPublic Authored by rengolin on Sep 9 2014, 5:13 AM.
Details
Summary On ARM NEON, VAND with immediate (16/32 bits) is an alias to VBIC ~imm with Fixes PR20702.
Diff Detail Event Timelinerengolin updated this object. Comment Actions Hi Renato, Have a razor, I think you've got a yak to shave...
rengolin edited edge metadata. Comment ActionsRight, ignoring the code in isNEONi32splat() for now, I just want to make sure everything is in the right place. I have:
I haven't:
I don't know if:
Comment Actions Hi Renato, The names look reasonable. About the one thing I'd change is not mentioning "Operands" in ARMAddressingModes.h. That's entirely a bike-shedding point though, I wouldn't have mentioned it if you hadn't specifically mentioned names as something you weren't sure of. Cheers. Tim.
Comment Actions Thanks for the review, Tim. I'll refactor the names and types and start working on the acceptable cases and errors. cheers,
Comment Actions Many changes since last diff...
I believe now it's a lot closer to committing quality. Comment Actions This look ok to me. For some reason, the comment I made in phabricator never made it to the mailing list. Cheers, Arnaud From: mankeyrabbit@gmail.com [mailto:mankeyrabbit@gmail.com] On Behalf Of James Molloy Adding Arnaud as he is working on pseudo instructions. This revision is now accepted and ready to land.Sep 25 2014, 4:41 AM
Revision Contents
Diff 13559 lib/Target/ARM/ARMInstrNEON.td
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h
test/MC/ARM/neon-bitwise-encoding.s
test/MC/ARM/vorr-vbic-illegal-cases.s
|
PrintMethod shouldn't be needed since the aliases aren't canonical.