Displaying 2 results from an estimated 2 matches for "wideel".
Did you mean:
widel
2015 Jul 27
3
[LLVMdev] i1* function argument on x86-64
...source, of course). If I look at the assembler that the MCJIT generates
for an x86-64 target I see that the array 'i1*' is taken as a sequence
of 1 bit wide elements. (I guess that's correct). However, I used to
call the function from C passing in a 'bool*' which has 1 byte
wideelements, I guess. (not sure if that's a compiler's choice) Now,
since I haven't changed my code on these parts but only made the
transition from LLVM 3.4/5 -> 3.6 I wonder if the element width has
changed when i1* is used as a function's argument..!?
Thanks,
Frank
2015 Jul 27
0
[LLVMdev] i1* function argument on x86-64
...er that the MCJIT generates
> for an x86-64 target I see that the array 'i1*' is taken as a sequence
> of 1 bit wide elements. (I guess that's correct).
Yes, that is correct.
> However, I used to
> call the function from C passing in a 'bool*' which has 1 byte
> wideelements, I guess.
This is the bug, as the caller and callee need to agree on how data for
arguments is laid out. 'bool' is i8 in clang when stored to memory (for
most targets... IIRC, one of the ppc darwin targets has 32bit bools?).
> (not sure if that's a compiler's choice) No...