search for: detectnull

Displaying 3 results from an estimated 3 matches for "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) &g...
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 ###### Material...