summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-07-10 20:56:58 +0000
committerChris Lattner <sabre@nondot.org>2006-07-10 20:56:58 +0000
commita7976d329ec03d71aa4b1dee4e13bf694568a839 (patch)
treef2007845c7924465daec41edd806b3bafbe6ecf3 /llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
parenta0449c29360d3aac8c788986df27202b91986694 (diff)
downloadbcm5719-llvm-a7976d329ec03d71aa4b1dee4e13bf694568a839.tar.gz
bcm5719-llvm-a7976d329ec03d71aa4b1dee4e13bf694568a839.zip
Implement Regression/CodeGen/PowerPC/bswap-load-store.ll by folding bswaps
into i16/i32 load/stores. llvm-svn: 29089
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp b/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
index 6208d7dc91d..d2f81c673f9 100644
--- a/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
+++ b/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
@@ -178,6 +178,7 @@ getHazardType(SDNode *Node) {
case PPC::LHZ:
case PPC::LHZX:
case PPC::LVEHX:
+ case PPC::LHBRX:
LoadSize = 2;
break;
case PPC::LFS:
@@ -188,6 +189,7 @@ getHazardType(SDNode *Node) {
case PPC::LWA:
case PPC::LWAX:
case PPC::LVEWX:
+ case PPC::LWBRX:
LoadSize = 4;
break;
case PPC::LFD:
@@ -233,6 +235,7 @@ void PPCHazardRecognizer970::EmitInstruction(SDNode *Node) {
case PPC::STHX:
case PPC::STH:
case PPC::STVEHX:
+ case PPC::STHBRX:
ThisStoreSize = 2;
break;
case PPC::STFS:
@@ -243,6 +246,7 @@ void PPCHazardRecognizer970::EmitInstruction(SDNode *Node) {
case PPC::STW:
case PPC::STVEWX:
case PPC::STFIWX:
+ case PPC::STWBRX:
ThisStoreSize = 4;
break;
case PPC::STD_32:
OpenPOWER on IntegriCloud