Displaying 3 results from an estimated 3 matches for "aligned_s1".
Did you mean:
aligned_msg
2012 Mar 07
2
[LLVMdev] "Machine LICM" for Constants?
...be
rematerialized in every iteration of a loop, rather than being hoisted.
Here's an example using the mips-unknown-unknown target and Clang/LLVM
HEAD. From newlib's implementation of strncat:
#define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
while (!DETECTNULL (*aligned_s1))
aligned_s1++;
This loop gets lowered under -O3 to:
$BB0_5:
lui $3, 32896
lui $7, 65278
ori $3, $3, 32896 ###### Materialize 0x80808080
lw $8, 4($2)
nop
and $9, $8, $3
ori $7, $7, 65279 ###### Materialize -(0x01010101)
addiu $2, $2, 4
xor $3, $9, $3
addu $7, $8...
2012 Mar 07
0
[LLVMdev] "Machine LICM" for Constants?
...ery iteration of a loop, rather than being hoisted.
> Here's an example using the mips-unknown-unknown target and Clang/LLVM
> HEAD. From newlib's implementation of strncat:
>
> #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080)
> while (!DETECTNULL (*aligned_s1))
> aligned_s1++;
>
> This loop gets lowered under -O3 to:
>
> $BB0_5:
> lui $3, 32896
> lui $7, 65278
> ori $3, $3, 32896 ###### Materialize 0x80808080
> lw $8, 4($2)
> nop
> and $9, $8, $3
> ori $7, $7, 65279 ###### Materialize -(0x01010101)...
2012 Mar 08
1
[LLVMdev] "Machine LICM" for Constants?
...a loop, rather than being hoisted.
>> Here's an example using the mips-unknown-unknown target and Clang/LLVM
>> HEAD. From newlib's implementation of strncat:
>>
>> #define DETECTNULL(X) (((X) - 0x01010101)& ~(X)& 0x80808080)
>> while (!DETECTNULL (*aligned_s1))
>> aligned_s1++;
>>
>> This loop gets lowered under -O3 to:
>>
>> $BB0_5:
>> lui $3, 32896
>> lui $7, 65278
>> ori $3, $3, 32896 ###### Materialize 0x80808080
>> lw $8, 4($2)
>> nop
>> and $9, $8, $3
>>...