Displaying 4 results from an estimated 4 matches for "__put_user_".
Did you mean:
__put_user
2009 Jan 27
0
[LLVMdev] inline asm semantics: output constraint width smaller than input
...in the same register, then they have to be in the same register.
>>
>
> Sounds logical! But what is the discussion about then?
LLVM's Codegen is rejecting inline asm when input/output constraints
have different bitwidths.
For example in the Linux kernel calls to the various __put_user_
functions take %al, %ax, %eax, %rax/ (%eax:%edx) as input parameter,
and the output parameter is always an int (%eax). (hope I explained this
right)
But if I got it right, the input can also be a struct (who's size is 1,
2, 4, 8-byte) that fits in a register.
Not sure if this ever occurs in pr...
2009 Jan 27
3
[LLVMdev] inline asm semantics: output constraint width smaller than input
On Tuesday 27 January 2009 20:56:30 Mike Stump wrote:
> On Jan 27, 2009, at 8:42 PM, Duncan Sands wrote:
> > one thing that seems to be clear to everyone except me is... what
> > are the
> > semantics supposed to be?
>
> I don't know of any other semantic other than, if they are supposed to
> be in the same register, then they have to be in the same register.
2009 Jan 27
4
[LLVMdev] inline asm semantics: output constraint width smaller than input
...ey have to be in the same register.
>>>
>>
>> Sounds logical! But what is the discussion about then?
>
> LLVM's Codegen is rejecting inline asm when input/output constraints
> have different bitwidths.
>
> For example in the Linux kernel calls to the various __put_user_
> functions take %al, %ax, %eax, %rax/ (%eax:%edx) as input parameter,
> and the output parameter is always an int (%eax). (hope I explained
> this
> right)
Right, the interesting wrinkle is that I think llvm's codegen should
only see matching constraints of the same type. If...
2009 Jan 28
0
[LLVMdev] inline asm semantics: output constraint width smaller than input
Hi Chris,
> > LLVM's Codegen is rejecting inline asm when input/output constraints
> > have different bitwidths.
> >
> > For example in the Linux kernel calls to the various __put_user_
> > functions take %al, %ax, %eax, %rax/ (%eax:%edx) as input parameter,
> > and the output parameter is always an int (%eax). (hope I explained
> > this
> > right)
>
> Right, the interesting wrinkle is that I think llvm's codegen should
> only see matching...