0c5b18edd1308975804ccf29a02a130a7b6f7fa7 |
|
06-Feb-2016 |
Mark Mendell <mark.p.mendell@intel.com> |
Support CMOV for x86 Select If possible, generate CMOV to implement HSelect. Tricky cases are a long or FP condition (no single CC generated), FP inputs (no FP CMOV) and when the condition is a boolean or not emitted at the use site. In these cases, keep using the existing HSelect code. Change-Id: I4ff1e152b8ef126fbbabeb3316e9e2b6a6b74aeb Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
7c0b44f180f1b8cf82c568091d250071d1130954 |
|
01-Feb-2016 |
Mark Mendell <mark.p.mendell@intel.com> |
Support CMOV for x86_64 Select If possible, generate CMOV to implement HSelect. Tricky cases are an FP condition (no single CC generated), FP inputs (no FP CMOV) and when the condition is a boolean or not emitted at the use site. In these cases, keep using the existing HSelect code. Added Load32BitValue for int and FP and used that to remove code duplication. Added minimal checker test for int/long CMOV generation. Change-Id: Id71e515f0afa5a30f53c5de3a5244de1ea429aae Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
74eb1b264691c4eb399d0858015a7fc13c476ac6 |
|
14-Dec-2015 |
David Brazdil <dbrazdil@google.com> |
ART: Implement HSelect This patch adds a new HIR instruction to Optimizing. HSelect returns one of two inputs based on the outcome of a condition. This is only initial implementation which: - defines the new instruction, - repurposes BooleanSimplifier to emit it, - extends InstructionSimplifier to statically resolve it, - updates existing code and tests accordingly. Code generators currently emit fallback if/then/else code and will be updated in follow-up CLs to use platform-specific conditional moves when possible. Change-Id: Ib61b17146487ebe6b55350c2b589f0b971dcaaee
|