llvm-project/llvm/test
Sander de Smalen 20eede7093 [AArch64] Disallow vector operand if FPR128 Q register is required.
Patch https://reviews.llvm.org/D41445 changed the behaviour of 'isReg()'
to also return 'true' if the parsed register operand is a vector
register. Code in the AsmMatcher checks if a register is a subclass of the
expected register class. However, even though both parsed registers map
to the same physical register, the 'v' register is of kind 'NeonVector',
where 'q' is of type Scalar, where isSubclass() does not distinguish
between the two cases.

The solution is to use an AsmOperand instead of the register directly,
and use the PredicateMethod to distinguish the two operands.

This fixes for example:
  ldr v0, [x0]    // 'v0' is an invalid operand for this instruction
  ldr q0, [x0]    // valid

Reviewers: aemerson, Gerolf, SjoerdMeijer, javed.absar

Reviewed By: aemerson

Differential Revision: https://reviews.llvm.org/D46310

llvm-svn: 331755
2018-05-08 10:01:04 +00:00
..
Analysis Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
Assembler
Bindings [LLVM-C] Add DIBuilder bindings to create import declarations 2018-04-28 22:32:07 +00:00
Bitcode Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
BugPoint
CodeGen [X86] Mark all byval parameters as aliased 2018-05-08 09:18:01 +00:00
DebugInfo [SelectionDAG] Transfer DbgValues when casts are optimized in SelectionDAG::getNode 2018-05-07 20:15:50 +00:00
Examples
ExecutionEngine [RuntimeDyld][PowerPC] Fix a newly added test in r329355 2018-04-09 14:29:23 +00:00
Feature
FileCheck
Instrumentation [x86] Revert r330322 (& r330323): Lowering x86 adds/addus/subs/subus intrinsics 2018-04-26 21:46:01 +00:00
Integer
JitListener
LTO [LTO] Allow pass remarks with hotness to be set when emitting to stderr 2018-05-04 23:59:34 +00:00
Linker [llvm-link] Use WithColor for printing errors 2018-04-18 14:41:47 +00:00
MC [AArch64] Disallow vector operand if FPR128 Q register is required. 2018-05-08 10:01:04 +00:00
Object AMDGPU: Add Vega12 and Vega20 2018-04-30 19:08:16 +00:00
ObjectYAML obj2yaml: Correctly round-trip default alignment. 2018-05-04 16:28:41 +00:00
Other [NewPM] Emit inliner NoDefinition missed optimization remark 2018-05-08 01:45:46 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [globalisel] Update GlobalISel emitter to match new representation of extending loads 2018-05-05 20:53:24 +00:00
ThinLTO/X86 [lit] Fix several Python 2/3 compatibility issues and tests 2018-04-07 00:21:28 +00:00
Transforms [LCSSA] Do not remove used PHI nodes in formLCSSAForInstructions 2018-05-08 06:59:47 +00:00
Unit
Verifier Tweak an assert message in the verifier 2018-04-06 10:20:19 +00:00
YAMLParser
tools [llvm-rc] Don't strictly require quotes around external file names 2018-05-08 08:47:37 +00:00
.clang-format
CMakeLists.txt [tools] Add missing test dependency 2018-05-07 22:00:59 +00:00
TestRunner.sh
lit.cfg.py [tools] Adjust the lit config for llvm-strip 2018-05-07 21:07:01 +00:00
lit.site.cfg.py.in