diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index 1ba89aa448a..84536ef2deb 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -219,24 +219,6 @@ should be branch free code. LLVM is turning it into < 1 because of the RHS. ===-------------------------------------------------------------------------=== -For this testcase: -int f1(int a, int b) { return (a&0xF)|(b&0xF0); } - -We currently emit: -_f1: - rlwinm r2, r4, 0, 24, 27 - rlwimi r2, r3, 0, 28, 31 - or r3, r2, r2 - blr - -We could emit: -_f1: - rlwinm r4, r4, 0, 24, 27 - rlwimi r3, r4, 0, 0, 27 - blr - -===-------------------------------------------------------------------------=== - No loads or stores of the constants should be needed: struct foo { double X, Y; };