commit | b07c1f9f4d6088ca2d4c1a10819e57b19acf7f22 | [log] [tgz] |
---|---|---|
author | Andreas Gampe <agampe@google.com> | Sat Jul 26 01:40:39 2014 -0700 |
committer | Andreas Gampe <agampe@google.com> | Sat Jul 26 01:40:39 2014 -0700 |
tree | 2cc79731690f73a5f2b81ff1c643d8d503a8c9b2 | |
parent | 3bcac48f23094fa0f46315a080ec47fc368fd4c2 [diff] |
ART: Special-case cb(n)z even for in-reg constant Call out to OpCmpImmBranch in GenCompareAndBranch if the constant is zero and we are testing == or !=, even when zero has been loaded to a register already. This avoids a register size mismatch on 64b architectures when basically doing a null check, and generally squashes a cmp + branch to a cbz or cbnz on Arm and Mips. X86 is not degraded. Bug: 16562601 Change-Id: I1997760f43dc186a84247ad30ae91053f71d102d