diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-03-06 17:34:12 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-03-06 17:34:12 +0000 |
| commit | f9a995d68c5877e5e81c66b656cf8fffdccb62d6 (patch) | |
| tree | 1c7a5121df334e308a1b4e1158062014acf14b1d /llvm/lib/CodeGen | |
| parent | 9fe669c52262e16afaabe490de44d198a46aa512 (diff) | |
| download | bcm5719-llvm-f9a995d68c5877e5e81c66b656cf8fffdccb62d6.tar.gz bcm5719-llvm-f9a995d68c5877e5e81c66b656cf8fffdccb62d6.zip | |
R600: Fix extloads from i8 / i16 to i64.
This appears to only be working for global loads. Private
and local break for other reasons.
llvm-svn: 203135
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 57bfa4f1392..eac55124c24 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -231,6 +231,21 @@ bool ISD::allOperandsUndef(const SDNode *N) { return true; } +ISD::NodeType ISD::getExtForLoadExtType(ISD::LoadExtType ExtType) { + switch (ExtType) { + case ISD::EXTLOAD: + return ISD::ANY_EXTEND; + case ISD::SEXTLOAD: + return ISD::SIGN_EXTEND; + case ISD::ZEXTLOAD: + return ISD::ZERO_EXTEND; + default: + break; + } + + llvm_unreachable("Invalid LoadExtType"); +} + /// getSetCCSwappedOperands - Return the operation corresponding to (Y op X) /// when given the operation for (X op Y). ISD::CondCode ISD::getSetCCSwappedOperands(ISD::CondCode Operation) { |

