summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86ISelLowering.cpp
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-08-05 23:35:51 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2010-08-05 23:35:51 +0000
commitac09835a2282412b90c634e71081db22cd5521f3 (patch)
tree6cf7255d86fbf1a5655b772d73bae7f5c4ed7875 /lib/Target/X86/X86ISelLowering.cpp
parent130073904ffc18a6700bf7a6505ed2e19fc25ff3 (diff)
downloadllvm-ac09835a2282412b90c634e71081db22cd5521f3.tar.gz
llvm-ac09835a2282412b90c634e71081db22cd5521f3.tar.bz2
llvm-ac09835a2282412b90c634e71081db22cd5521f3.tar.xz
Support very basic (doesn't include ABI support in the front-end, varags, ...) 256-bit argument passing and return for AVX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110394 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86ISelLowering.cpp')
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 44c95b5a6f..1b3d3e8b7a 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -1633,6 +1633,8 @@ X86TargetLowering::LowerFormalArguments(SDValue Chain,
RC = X86::FR32RegisterClass;
else if (RegVT == MVT::f64)
RC = X86::FR64RegisterClass;
+ else if (RegVT.isVector() && RegVT.getSizeInBits() == 256)
+ RC = X86::VR256RegisterClass;
else if (RegVT.isVector() && RegVT.getSizeInBits() == 128)
RC = X86::VR128RegisterClass;
else if (RegVT.isVector() && RegVT.getSizeInBits() == 64)