diff options
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 7f30ac551b0..b4b8ec007db 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3084,7 +3084,8 @@ bool X86TargetInfo::validateOperandSize(StringRef Constraint, case 'u': return Size <= 128; case 'x': - return Size <= 256; + // 256-bit ymm registers can be used if target supports AVX. + return Size <= (SSELevel >= AVX ? 256 : 128); } return true; |