Subzero. ARM32. Strength reduce multiplications. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=stichnot@chromium.org Review URL: https://codereview.chromium.org/1469113003 .
diff --git a/crosstest/test_arith.cpp b/crosstest/test_arith.cpp index 47fd47b..6ef2cc6 100644 --- a/crosstest/test_arith.cpp +++ b/crosstest/test_arith.cpp
@@ -49,3 +49,37 @@ v4f32 test##inst(v4f32 a, v4f32 b) { return func(a op b); } FPOP_TABLE #undef X + +#define X(mult_by) \ + bool testMultiplyBy##mult_by(bool a, bool /*unused*/) { \ + return a * (mult_by); \ + } \ + bool testMultiplyByNeg##mult_by(bool a, bool /*unused*/) { \ + return a * (-(mult_by)); \ + } \ + uint8_t testMultiplyBy##mult_by(uint8_t a, uint8_t /*unused*/) { \ + return a * (mult_by); \ + } \ + uint8_t testMultiplyByNeg##mult_by(uint8_t a, uint8_t /*unused*/) { \ + return a * (-(mult_by)); \ + } \ + uint16_t testMultiplyBy##mult_by(uint16_t a, uint16_t /*unused*/) { \ + return a * (mult_by); \ + } \ + uint16_t testMultiplyByNeg##mult_by(uint16_t a, uint16_t /*unused*/) { \ + return a * (-(mult_by)); \ + } \ + uint32_t testMultiplyBy##mult_by(uint32_t a, uint32_t /*unused*/) { \ + return a * (mult_by); \ + } \ + uint32_t testMultiplyByNeg##mult_by(uint32_t a, uint32_t /*unused*/) { \ + return a * (-(mult_by)); \ + } \ + uint64_t testMultiplyBy##mult_by(uint64_t a, uint64_t /*unused*/) { \ + return a * (mult_by); \ + } \ + uint64_t testMultiplyByNeg##mult_by(uint64_t a, uint64_t /*unused*/) { \ + return a * (-(mult_by)); \ + } +MULIMM_TABLE +#undef X