[cfe-dev] linux/i386 and mregparm

Anton Korobeynikov anton at korobeynikov.info
Tue Mar 1 14:42:05 PST 2011


> once again, there're two different ranges allowed for the offset yet llvm
> allows neither fully, not even the sign extended case.
Assembler treats imm field as signed int. Thus we check only sext case.
Note that both cases are handled correctly, because (in kernel code
model) too large positive offsets cannot be represented with 32-bit
signed offset (the range is -2^31 ... 2^31-1) .

In any case, currently negative offsets are properly excluded for
kernel code mode and big positive ones - for small code mode.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the cfe-dev mailing list