summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <florian.hahn@arm.com>2017-07-29 20:35:28 +0000
committerFlorian Hahn <florian.hahn@arm.com>2017-07-29 20:35:28 +0000
commitf63a5e91dbedd7d1388e08b5f491d90f8f2c1a0f (patch)
tree0e50cc590fde608df14c9739358040b80a420786 /llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
parent2f86e3d4948853f7b753e7ae4b9c9eac8f6e264f (diff)
downloadbcm5719-llvm-f63a5e91dbedd7d1388e08b5f491d90f8f2c1a0f.tar.gz
bcm5719-llvm-f63a5e91dbedd7d1388e08b5f491d90f8f2c1a0f.zip
[AArch64] Tie source and destination operands for AESMC/AESIMC.
Summary: Most CPUs implementing AES fusion require instruction pairs of the form AESE Vn, _ AESMC Vn, Vn and AESD Vn, _ AESIMC Vn, Vn The constraint is added to AES(I)MC instructions which use the result of an AES(E|D) instruction by using AES(I)MCTrr pseudo instructions, which constraint source and destination registers to be the same. A nice side effect of this change is that now all possible pairs are scheduled back-to-back on the exynos-m1 for the misched-fusion-aes.ll test case. I had to update aes_load_store. The version I added initially was very reduced and with the new constraint, AESE/AESMC could not be scheduled back-to-back. I updated the test to be more realistic and still expose the same scheduling problem as the initial test case. Reviewers: t.p.northover, rengolin, evandro, kristof.beyls, silviu.baranga Reviewed By: t.p.northover, evandro Subscribers: aemerson, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D35299 llvm-svn: 309495
Diffstat (limited to 'llvm/lib/DebugInfo/Symbolize/Symbolize.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud