Author: ctopper Date: Mon Jun 11 09:34:10 2018 New Revision: 334416 URL: http://llvm.org/viewvc/llvm-project?rev=334416&view=rev Log: [X86] Properly account for the immediate being multiplied by 8 in the immediate range checking for BI__builtin_ia32_psrldqi128 and friends.
The limit was set to 1023 which only up to 127*8. It needs to be 2047 to allow 255*8. Modified: cfe/trunk/lib/Sema/SemaChecking.cpp Modified: cfe/trunk/lib/Sema/SemaChecking.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaChecking.cpp?rev=334416&r1=334415&r2=334416&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaChecking.cpp (original) +++ cfe/trunk/lib/Sema/SemaChecking.cpp Mon Jun 11 09:34:10 2018 @@ -2911,7 +2911,7 @@ bool Sema::CheckX86BuiltinFunctionCall(u case X86::BI__builtin_ia32_psrldqi128: case X86::BI__builtin_ia32_psrldqi256: case X86::BI__builtin_ia32_psrldqi512: - i = 1; l = 0; u = 1023; + i = 1; l = 0; u = 2047; break; } return SemaBuiltinConstantArgRange(TheCall, i, l, u); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits