aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
diff options
context:
space:
mode:
authorLuo, Yuanke <yuanke.luo@intel.com>2022-05-04 12:39:45 +0800
committerLuo, Yuanke <yuanke.luo@intel.com>2022-05-05 10:44:57 +0800
commit373ce147602cb2007ac861bc1956c16f473780a6 (patch)
tree1ee4304b6558ce3972d0efad5c3e68ffb7acaa75 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
parentdc66897d4cd54749725e4cc189a88933fe3593b1 (diff)
downloadllvm-373ce147602cb2007ac861bc1956c16f473780a6.zip
llvm-373ce147602cb2007ac861bc1956c16f473780a6.tar.gz
llvm-373ce147602cb2007ac861bc1956c16f473780a6.tar.bz2
[X86][AMX] Replace PXOR instruction with SET0 in AMX pre config.
To generate zero value, the PXOR instruction need 3 operands that is tied to the same vreg. If is not good in SSA form and with undef value two address instruction pass may convert `%0:vr128 = PXORrr undef %0, undef %0` to `%1:vr128 = PXORrr undef %1:vr128(tied-def 0), undef %0:vr128`. It is not expected. It can be simplified to SET0 instruction which only take 1 destination operand. It should be more friendly to two address instruction pass and register allocation pass. `%0:vr128 = V_SET0` Also add AVX1 code path so that it is consistant to other code. Differential Revision: https://reviews.llvm.org/D124903
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions