Displaying 4 results from an estimated 4 matches for "_loadgs2".
Did you mean:
loadgs2
2013 Aug 08
0
[LLVMdev] Address space extension
...%rbp
ret
load: ## @load
## BB#0:
pushq %rbp
movq %rsp, %rbp
movl (%rdi), %eax
popq %rbp
ret
.globl _loadgs
.align 4, 0x90
loadgs: ## @loadgs
## BB#0:
pushq %rbp
movq %rsp, %rbp
movl %gs:(%rdi), %eax
popq %rbp
ret
.globl _loadgs2
.align 4, 0x90
loadgs2: ## @loadgs2
## BB#0:
pushq %rbp
movq %rsp, %rbp
movl (%rdi), %eax
popq %rbp
ret
loadgs() has been compiled correctly. It uses the parameter as a gs-relative address and performs the load. The assembly for load() and loadgs2(), however,...
2013 Aug 08
4
[LLVMdev] Address space extension
On Aug 7, 2013, at 7:23 PM, Michele Scandale <michele.scandale at gmail.com> wrote:
> On 08/08/2013 03:52 AM, Pete Cooper wrote:
>>> Why a backend should be responsible (meaning have knowledge) for a
>>> mapping between high level address spaces and low level address spaces?
>> Thats true. I’m thinking entirely from the persecutive of the backend
>> doing
2013 Aug 08
2
[LLVMdev] Address space extension
...> movq %rsp, %rbp
> movl (%rdi), %eax
> popq %rbp
> ret
>
> .globl _loadgs
> .align 4, 0x90
> loadgs: ## @loadgs
> ## BB#0:
> pushq %rbp
> movq %rsp, %rbp
> movl %gs:(%rdi), %eax
> popq %rbp
> ret
>
> .globl _loadgs2
> .align 4, 0x90
> loadgs2: ## @loadgs2
> ## BB#0:
> pushq %rbp
> movq %rsp, %rbp
> movl (%rdi), %eax
> popq %rbp
> ret
>
> loadgs() has been compiled correctly. It uses the parameter as a gs-relative address and performs the load....
2013 Aug 08
0
[LLVMdev] Address space extension
...;> .align 4, 0x90
>> loadgs: ## @loadgs
>> ## BB#0:
>> pushq %rbp
>> movq %rsp, %rbp
>> movl %gs:(%rdi), %eax
>> popq %rbp
>> ret
>>
>> .globl _loadgs2
>> .align 4, 0x90
>> loadgs2: ## @loadgs2
>> ## BB#0:
>> pushq %rbp
>> movq %rsp, %rbp
>> movl (%rdi), %eax
>> popq %rbp
>> ret
>>
>> loadgs() has be...