Displaying 2 results from an estimated 2 matches for "cfdbr".
2018 Sep 20
3
Aliasing rules difference between GCC and Clang
...T_TY *f;
int g = 0;
void h() {
int i = e;
f->c[0][i] = g;
g = e;
}
clang -O3-march=z13 :
h: # @h
# %bb.0: # %entry
larl %r1, e
ld %f0, 0(%r1) // LOAD E
lrl %r2, g
cfdbr %r0, 5, %f0 // CONVERT E
lgfr %r0, %r0 // EXTEND E
cdfbr %f0, %r2
lgrl %r2, f
sllg %r3, %r0, 3
std %f0, 0(%r3,%r2) // STORE F ELEMENT
ld %f0, 0(%r1) // 2nd LOAD E <<<<<<<
...
2018 Sep 21
2
Aliasing rules difference between GCC and Clang
...> }
>
> clang -O3-march=z13 :
>
> h: # @h
> # %bb.0: # %entry
> larl %r1, e
> ld %f0, 0(%r1) // LOAD E
> lrl %r2, g
> cfdbr %r0, 5, %f0 // CONVERT E
> lgfr %r0, %r0 // EXTEND E
> cdfbr %f0, %r2
> lgrl %r2, f
> sllg %r3, %r0, 3
> std %f0, 0(%r3,%r2) // STORE F ELEMENT
> ld %f0, 0(%r1) ...