Displaying 20 results from an estimated 86 matches for "movt".
Did you mean:
movl
2010 Nov 17
1
[LLVMdev] [llvm-commits] [patch] ARM/MC/ELF add new stub for movt/movw in ARMFixupKinds
...r instruction operands for any special encoding needs, including registering fixups, using the EncoderMethod string. For an example, have a look at the LDRi12 instruction and how it registers a fixup for the addrmode_imm12 operand when it needs one.
Hi Jim,. follow up question for ya:
The current movt/movw pair (as defined in ARMInstrInfo.td) does not
use EncoderMethod string to declare a special case handler.
At the current time, for the assembly printing,
MCAsmStreamer::EmitInstruction(const MCInst &Inst) calls out to
MCExpr::print(raw_ostream &OS)
which then calls out to MCSym...
2011 Jan 10
2
[LLVMdev] ARM/MC/ELF Support for pcrel movw/movt coming soon
Hi everyone, happy new year.
This note is to announce that support for PC relative reloc tags for
movw/movt is nearing completion (hopefully <48hrs!). This work is is
from Jan Voung, David Meyer and myself.
Unfortunately, to test this change, we need to patch ARM/AsmParser to
address http://llvm.org/bugs/show_bug.cgi?id=8721
Locally, we have hacked up a solution to 8721, but its not ideal since
VK_AR...
2015 Dec 04
4
[RFC] [ARM] Execute only support
...Add the subtarget feature/attribute "execute-only" to the ARM
code generator to enable the feature.
- Add a clang option "-mexecute-only" that passes said attribute to
LLVM.
If execute only is enabled:
- Instead of using integer literal pools, use movw/movt to
construct the literals. This means this feature is only available for
sub-targets that support these instructions.
- For floating point literals, use movw/movt/vmov instead of a
literal pool.
- Move jump tables to data sections.
This is basically a re-implementation of a...
2011 Jan 10
0
[LLVMdev] ARM/MC/ELF Support for pcrel movw/movt coming soon
On 10 January 2011 22:59, Jason Kim <jasonwkim at google.com> wrote:
> Hi everyone, happy new year.
>
> This note is to announce that support for PC relative reloc tags for
> movw/movt is nearing completion (hopefully <48hrs!). This work is is
> from Jan Voung, David Meyer and myself.
Hi Jason,
Happy new year!
That seems a long patch... with many changes... can't wait for it. ;)
Btw, I know this is for ELF printing, but can the same infrastructure
you're using t...
2011 Jan 10
2
[LLVMdev] ARM/MC/ELF Support for pcrel movw/movt coming soon
...ely separate subject?
Hi Renato,
If I am understanding you correctly, then the answer is no, because .s
output doesn't care about relocations per se... BUT..
its also yes because sometimes, the asmwriter will sometimes need to
generate sequences like below
foo:
movw r0, :lower16:bar-foo
movt r0, :upper16:bar-foo
The subtraction implies that the value bar-foo is implicitly
pc-relative (at least according to GNU as).
Thanks!
-jason
2014 Apr 06
2
[LLVMdev] Instruction dependency in ARM backend
Hi
I'm working on a POC adding Windows Phone (ARM) support to the ARM backend.
I've encountered the following problem.
Microsoft's COFF linker/loader supports a single relocation type (
IMAGE_REL_ARM_MOV32T) on continuous movw/movt Thumb2 instructions opposed
to ELF and Mach-O which support relocation per instruction (one for movw
and movt).
I need to make sure that in case of immediate operands which needs fix-up
for these instructions they will grouped together with no other instruction
inserted between them. Also they nee...
2011 Nov 12
2
[LLVMdev] Thumb-2 code generation error in Apple LLVM at all optimization levels
...d cycleContinuously]":
Ltmp265:
Lfunc_begin24:
.loc 1 380 0
.loc 1 380 1 prologue_end
push {r4, r5, r6, r7, lr}
add r7, sp, #12
push.w {r8, r10, r11}
vpush {d8}
sub sp, #4
.loc 1 382 2
Ltmp266:
movw r1, :lower16:(L_OBJC_SELECTOR_REFERENCES_7-(LPC24_0+4))
Ltmp267:
mov r4, r0
Ltmp268:
movt r1, :upper16:(L_OBJC_SELECTOR_REFERENCES_7-(LPC24_0+4))
movw r0, :lower16:(L_OBJC_CLASSLIST_REFERENCES_$_62-(LPC24_1+4))
movt r0, :upper16:(L_OBJC_CLASSLIST_REFERENCES_$_62-(LPC24_1+4))
LPC24_0:
add r1, pc
LPC24_1:
add r0, pc
ldr r1, [r1]
ldr r0, [r0]
blx _objc_msgSend
movw r1, :lower16:(L_...
2011 Jan 11
0
[LLVMdev] ARM/MC/ELF Support for pcrel movw/movt coming soon
...ocation (target1) and exception
handling table symbols (prel31) are clearly disregarded by gas and
subsequently discarded by armlink.
> its also yes because sometimes, the asmwriter will sometimes need to
> generate sequences like below
>
> foo:
> movw r0, :lower16:bar-foo
> movt r0, :upper16:bar-foo
>
> The subtraction implies that the value bar-foo is implicitly
> pc-relative (at least according to GNU as).
That was the other part of my question: will your new
MC-relocationator also print the current ASM relocations? ;)
cheers,
--renato
2012 Dec 06
2
[LLVMdev] Proposal: Adding aligned instruction bundle support to MC
...ract with ARM codegen? The constant island pass in particular.
>
Hi Jim,
This is a great question.
>From the compiler's point of view, these bundles indeed pose a problem
for the constant island pass. At this point for the NaCl platform we
disable this pass, generating instructions like movt instead (NaCl
requires at least v7 for ARM). However, as a future enhancement we'd
like to follow gcc's path and adjust the pass to coexist with
potential bundling by computing worst-case estimates for the sizes of
bundle-locked instruction sequences.
>From the assembler's point of...
2019 Oct 02
2
fixup_aarch64_movw support for COFF AArch64
...an into an issue related to llvm in Swiftshader.
Currently fixup_aarch64_movw relocation type is not supported for COFF
ARM64 (AArch64WinCOFFObjectWriter). As far as I see, Microsoft hasn't
defined indicator for this relocation type. I haven't seen documented
anywhere.
For AArch32 mova/movt indicators were implemented, I'm not sure but
maybe we need to have something similar for AArch64?
Could someone give me some pointers how I could handle/fix this?
Many thanks,
Regards,
Adam
2012 Dec 07
0
[LLVMdev] Proposal: Adding aligned instruction bundle support to MC
...island pass in particular.
>>
>
> Hi Jim,
>
> This is a great question.
> From the compiler's point of view, these bundles indeed pose a problem
> for the constant island pass. At this point for the NaCl platform we
> disable this pass, generating instructions like movt instead (NaCl
> requires at least v7 for ARM). However, as a future enhancement we'd
> like to follow gcc's path and adjust the pass to coexist with
> potential bundling by computing worst-case estimates for the sizes of
> bundle-locked instruction sequences.
That's going t...
2013 Oct 27
1
[LLVMdev] Add support for ldr pseudo instruction in ARM integrated assembler
>> Do the ARM usages include allowing a single pseudo-instruction to expand
>> to multiple real instructions? For example, a movw/movt pair? If so, I’m
>> *very* opposed to that part.
>
>
> Why? For people writing assembly manually, having pseudo instructions to
> encapsulate common patterns is very useful.
Would it be acceptable for this pseudo-instruction to expand to
movw/movt for some targets, and ldr for o...
2011 Feb 18
0
[LLVMdev] Adding "S" suffixed ARM/Thumb2 instructions
On Feb 17, 2011, at 10:35 PM, Вадим Марковцев wrote:
> Hello everyone,
>
> I've added the "S" suffixed versions of ARM and Thumb2 instructions to tablegen. Those are, for example, "movs" or "muls".
> Of course, some instructions have already had their twins, such as add/adds, and I leaved them untouched.
Adding separate "s" instructions is
2013 Dec 03
6
[LLVMdev] Recent Commits by Tim Northover
...t, or any ARM target for that matter (as opposed to other important
work on compiler correctness or architectural elegance or formatting
comment white-space, I mean). Is he alone or are there others working
toward such improvements?
The subject of two of his commits dealt with substituting MOVW/MOVT
pairs for an LDR and a lit-pool. Isn't this what MachineConstantPool and
ARMConstantIslandPass was all about? I vaguely recall a while back that
it was disabled by some Darwin snob who thought no useful target
benefited from it. What about enabling it again? Perhaps you've noticed
in t...
2013 Dec 04
0
[LLVMdev] Recent Commits by Tim Northover
Hi Gary,
On 3 December 2013 22:01, Gary Fuehrer <gfuehrer at defiant-tech.com> wrote:
> The subject of two of his commits dealt with substituting MOVW/MOVT pairs
> for an LDR and a lit-pool. Isn't this what MachineConstantPool and
> ARMConstantIslandPass was all about?
Both are essential components to using lit-pools: the
MachineConstantPool is just LLVM's underlying machinery and
ARMConstantIslands is for fixing up out of range loads a...
2013 Oct 15
0
[LLVMdev] MI scheduler produce badly code with inline function
On Oct 14, 2013, at 3:27 AM, Zakk <zakk0610 at gmail.com> wrote:
> Hi all,
> I meet this problem when compiling the TREAM benchmark (http://www.cs.virginia.edu/stream/FTP/Code/) with enable-misched
>
> The small function will be scheduled as good code, but if opt inline this function, the inline part will be scheduled as bad code.
A bug for this is welcome. Pretty soon, I’ll
2011 Feb 18
2
[LLVMdev] Adding "S" suffixed ARM/Thumb2 instructions
Hello everyone,
I've added the "S" suffixed versions of ARM and Thumb2 instructions to
tablegen. Those are, for example, "movs" or "muls".
Of course, some instructions have already had their twins, such as add/adds,
and I leaved them untouched.
Besides, I propose the codegen optimization based on them, which removes the
redundant comparison in patterns like
orr
2010 Nov 12
2
[LLVMdev] Simple NEON optimization
...also simplifies (just
a bit) the code generated.
The case is simple:
uint32x2_t x, res;
res = vceq_u32(x, vcreate_u32(0));
This will generate the following code:
; zero d16
vmov.i32 d16, #0x0
; load a into d17
movw r0, :lower16:a
movt r0, :upper16:a
vld1.32 {d17}, [r0]
; compare two registers
vceq.i32 d17, d17, d16
But, because the vector is zero, and there is a NEON instruction to
compare against an immediate zero (VCEQZ), we could combine the two
instructions:
; load a into d17...
2019 Oct 02
2
fixup_aarch64_movw support for COFF AArch64
...;> Currently fixup_aarch64_movw relocation type is not supported for
>> COFF ARM64 (AArch64WinCOFFObjectWriter). As far as I see, Microsoft
>> hasn't defined indicator for this relocation type. I haven't seen
>> documented anywhere.
>>
>> For AArch32 mova/movt indicators were implemented, I'm not sure but
>> maybe we need to have something similar for AArch64?
>
> The AArch32 movw/movt relocation was for a true relocation, where the
> target of the relocation is a symbol that is unknown at the assembly
> stage. But for AArch64 th...
2013 Oct 14
2
[LLVMdev] MI scheduler produce badly code with inline function
Hi all,
I meet this problem when compiling the TREAM benchmark (
http://www.cs.virginia.edu/stream/FTP/Code/) with enable-misched
The small function will be scheduled as good code, but if opt inline this
function, the inline part will be scheduled as bad code.
so I rewrite a simple code as attached link (foo.c), and compiled with two
different methods:
*method A:*
*$clang -O3 foo.c -static -S