diff options
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 08175b3dfc4..2393957e1b6 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -9690,11 +9690,10 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID, "vperm"); } - case X86::BI__builtin_ia32_pslldqi128: - case X86::BI__builtin_ia32_pslldqi256: - case X86::BI__builtin_ia32_pslldqi512: { - // Shift value is in bits so divide by 8. - unsigned ShiftVal = cast<llvm::ConstantInt>(Ops[1])->getZExtValue() >> 3; + case X86::BI__builtin_ia32_pslldqi128_byteshift: + case X86::BI__builtin_ia32_pslldqi256_byteshift: + case X86::BI__builtin_ia32_pslldqi512_byteshift: { + unsigned ShiftVal = cast<llvm::ConstantInt>(Ops[1])->getZExtValue(); llvm::Type *ResultType = Ops[0]->getType(); // Builtin type is vXi64 so multiply by 8 to get bytes. unsigned NumElts = ResultType->getVectorNumElements() * 8; @@ -9721,11 +9720,10 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID, "pslldq"); return Builder.CreateBitCast(SV, Ops[0]->getType(), "cast"); } - case X86::BI__builtin_ia32_psrldqi128: - case X86::BI__builtin_ia32_psrldqi256: - case X86::BI__builtin_ia32_psrldqi512: { - // Shift value is in bits so divide by 8. - unsigned ShiftVal = cast<llvm::ConstantInt>(Ops[1])->getZExtValue() >> 3; + case X86::BI__builtin_ia32_psrldqi128_byteshift: + case X86::BI__builtin_ia32_psrldqi256_byteshift: + case X86::BI__builtin_ia32_psrldqi512_byteshift: { + unsigned ShiftVal = cast<llvm::ConstantInt>(Ops[1])->getZExtValue(); llvm::Type *ResultType = Ops[0]->getType(); // Builtin type is vXi64 so multiply by 8 to get bytes. unsigned NumElts = ResultType->getVectorNumElements() * 8; |

