Displaying 5 results from an estimated 5 matches for "armarm".
Did you mean:
armasm
2012 Mar 26
1
[LLVMdev] Disassembly broken for thumb LDR
...disassembly output. I have two bytes in question: 4e5f
lldb (via the llvm's LLVMARMCodeGen) is providing the following mnemonics:
ldr r6, #380,
However the value for ldr is "an 8-bit value that is multiplied by 4 and added to the value of the PC to form the memory address" (via ARMARM), so that the correct mnemonics is:
ldr r6, [pc, #380]
(provided by Apple's otool).
I've traced the issue down to ARMInstrThumb.td:
// A8.6.57 & A8.6.60
defm tLDR : thumb_ld_rr_ri_enc<0b100, 0b0110, t_addrmode_rrs4,
t_addrmode_is4, AddrModeT1_...
2014 Dec 16
1
[LLVMdev] Newbee question: LLVM backend regression tests for thumb1 targets on simulator possible?
...ill work on cortex-m3, but not m0). The list of
> them is pretty small though IIRC, so maybe you can write a script that
> disassembles & checks for them.
Cortex-M0 implements the v6m architecture.
Cortex-M3 implements the v7m architecture.
Having had a quick look at the v6m and the v7m ARMARM's, next to the
extra instructions v7m supports, I think the main other difference
that's very relevant for a code generator is that v6m always generates
a fault when an unaligned access occurs, whereas v7m can support unaligned
accesses for many of the load and store instructions. I think i...
2012 May 10
0
[LLVMdev] MC Hammer Test results
...is bitpattern decodes to a BFI with an invalid mask operand, which is
unpredictable. The first example fails with an abort when they are turned on,
and otherwise creates the instruction BFI r0, r0, #32, #-32.
The second example does not abort and decodes to BFI r0, r0, #1, #2
(0xe7c20090).
The ARMARM could be clearer on this point, but the real UAL should be
BFI r0, r0, #lsbit #(msbit+1-lsbit) or BFI r0, r0, #3, #-2
In my opinion, the root cause of the problem is that BFI MCInsts store the
mask as a 32-bit operand and converts to and from the msbit and lsbit fields
during encode, decode, asse...
2016 Jan 13
2
RFC: non-temporal fencing in LLVM IR
...t; If you mean that the LDNP
>
> could start executing with the value of X0 from before the LDR, e.g.
> initially X0=0x100, the LDR loads
>
> X0=0x200 but the LDNP uses the old value of X0=0x100, then I don’t think
> that’s true. According to
>
> section C3.2.4 of the ARMv8 ARMARM *other* observers may observe the LDR
> and the LDNP in the wrong
>
> order, but the CPU executing the instructions will observe them in program
> order.
>
I haven't touched ARMv8 in a few years so I'm rusty on the non-temporal
details for that ISA. I lifted this example fro...
2016 Jan 13
4
RFC: non-temporal fencing in LLVM IR
Hello, fencing enthusiasts!
*TL;DR:* We'd like to propose an addition to the LLVM memory model
requiring non-temporal accesses be surrounded by non-temporal load barriers
and non-temporal store barriers, and we'd like to add such orderings to the
fence IR opcode.
We are open to different approaches, hence this email instead of a patch.
*Who's "we"?*
Philip Reames brought