summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/lanai-unknown-unknown.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-05-22 21:00:18 +0000
committerCraig Topper <craig.topper@intel.com>2019-05-22 21:00:18 +0000
commit93f38e1f1ae23623a03d456b5b46f19f5c500036 (patch)
tree1e49cf98e47629cc5960381bf3ba1f32c7e129f0 /clang/test/Driver/lanai-unknown-unknown.cpp
parented49f6d8e65a4d8c26621624252c5f5588d549a1 (diff)
downloadbcm5719-llvm-93f38e1f1ae23623a03d456b5b46f19f5c500036.tar.gz
bcm5719-llvm-93f38e1f1ae23623a03d456b5b46f19f5c500036.zip
[X86] Explcitly disable VEXTRACT instruction matching for an immediate of 0. Remove a bunch of isel patterns that become unnecessary.
We effectively had a second set of isel patterns that tried to use a regular store instruction and an extract_subreg instruction. Or a masked move and an extract_subreg. These patterns were intended to override the matching of VEXTRACT instructions by taking advantage of the priority of the explicit immediate 0 for the index. This patch instaed just disables the immediate 0 matchin the VEXTRACT patterns. This each of the component pieces of the larger patterns will match by themselves. This found a bug of sorts were we didn't use 128-bit store for 512->128 extract on KNL. Its unclear what the right thing here should be. Using the vextract avoids constraining the register allocator to use xmm0-15. But it always results in a longer encoding if the register allocator ends up choosing xmm0-15 anyway. llvm-svn: 361431
Diffstat (limited to 'clang/test/Driver/lanai-unknown-unknown.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud