Displaying 3 results from an estimated 3 matches for "detectnul".
Did you mean:
detectnull
2012 Mar 07
2
[LLVMdev] "Machine LICM" for Constants?
...iced a recurring pattern
where, despite low register pressure, these constants will 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...
2012 Mar 07
0
[LLVMdev] "Machine LICM" for Constants?
...where, despite low register pressure, these constants will 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)
&...
2012 Mar 08
1
[LLVMdev] "Machine LICM" for Constants?
...low register pressure, these constants will 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 ###### Materia...