r217994 - [X86, inline-asm] Check that the input size is correct for constraints R, q, Q,

Akira Hatanaka ahatanaka at apple.com
Thu Sep 18 13:27:00 PDT 2014


I didn’t know ‘x’ can also mean 256-bit ‘ymm’ registers. Is this legal only if the target supports avx?

Thanks.

On Sep 18, 2014, at 1:20 PM, Eric Christopher <echristo at gmail.com> wrote:

> You could probably create a 512-byte data structure to get it to fail
> as well. (Though the explicit no-error is nice too, thanks)
> 
> -eric
> 
> On Thu, Sep 18, 2014 at 1:04 PM, Hans Wennborg <hans at chromium.org> wrote:
>> On Thu, Sep 18, 2014 at 11:34 AM, Eric Christopher <echristo at gmail.com> wrote:
>>>> 
>>> 
>>> 
>>>> +  case 'x':
>>>> +  case 'f':
>>>> +  case 't':
>>>> +  case 'u':
>>>> +    return Size <= 128;
>>> 
>>> 
>>> Hans pointed out that you'll have problems here with _m256 and wanting an
>>> avx register. There is, afaict, no separate constraint for "gimme an avx
>>> register" that's different from SSE registers. There is the 'v' constraint
>>> which works for avx 512 (evex encoded) registers.
>> 
>> How about the attached patch?
>> 
>> - Hans





More information about the cfe-commits mailing list