diff options
author | Sander de Smalen <sander.desmalen@arm.com> | 2018-04-30 07:24:38 +0000 |
---|---|---|
committer | Sander de Smalen <sander.desmalen@arm.com> | 2018-04-30 07:24:38 +0000 |
commit | 5861c263e0c7264d891eb48c9272d906d978a417 (patch) | |
tree | c4a6a98825c193c773e05b65fdfae0e97cdf8bdb /clang/lib/Frontend/ModuleDependencyCollector.cpp | |
parent | 5a4c88005c1cafe95bbf0117f0a3900a78742080 (diff) | |
download | llvm-5861c263e0c7264d891eb48c9272d906d978a417.zip llvm-5861c263e0c7264d891eb48c9272d906d978a417.tar.gz llvm-5861c263e0c7264d891eb48c9272d906d978a417.tar.bz2 |
[AArch64][SVE] Asm: Improve diagnostics for gather loads.
This patch extends the 'isSVEVectorRegWithShiftExtend' function to
improve diagnostics for SVE's gather load (scalar + vector) addressing
modes. Instead of always suggesting the 'unscaled' addressing mode,
the use of DiagnosticPredicate enables a more specific error message
in the context where the scaling is incorrect. For example:
ld1h z0.d, p0/z, [x0, z0.d, lsl #2]
^
shift amount should be '1'
Instead of suggesting the packed, unscaled addressing mode:
expected 'z[0..31].d, (uxtw|sxtw)'
the assembler now suggests using the proper scaling:
expected 'z[0..31].d, (lsl|uxtw|sxtw) #1'
Reviewers: fhahn, rengolin, samparker, SjoerdMeijer, javed.absar
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D46124
llvm-svn: 331162
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions