Better test narrowing
authorMike Danes <onemihaid@hotmail.com>
Tue, 20 Dec 2016 21:30:35 +0000 (23:30 +0200)
committerMike Danes <onemihaid@hotmail.com>
Tue, 17 Jan 2017 18:26:27 +0000 (20:26 +0200)
commit07d7c735947a7bc11a1e168fdde1388cc66f0b78
treef3c1ea01c10640faf3e63e410295fe19e04e8042
parent811ce7e6dea304bfc71df468f3ebbb3ecef30f08
Better test narrowing

The previous implementation attemped to narrow down the test mask to have the same type as the memory operand. Appart from unnecessary complications that arise from sign extension the approach doesn't yield the best results in terms of code size.

FX diff shows a 586 bytes improvement without any regressions. All improvements are of the form

test     byte  ptr [rcx+64], 1

instead of the 3 byte longer

test     dword ptr [rcx+64], 1
src/jit/lower.cpp