On 18/04/16 15:33, Claudiu Zissulescu wrote:
The combine pass may conclude umulhisi3_imm pattern can accept also sign extended 16-bit constants. This patch prohibits the combine in considering this pattern as suitable. OK to apply? Claudiu gcc/ 2016-04-18 Claudiu Zissulescu <claz...@synopsys.com> * config/arc/arc.md (umulhisi3_imm): Avoid unwanted match for sign extend 16-bit constants.
...
* testsuite/gcc.target/arc/umulsihi3_z.c: New file. - (match_operand:HI 2 "short_const_int_operand" " L, L,I,C16,C16")))] + (match_operand:HI 2 "short_const_int_operand" " L, L,I,C16,C16"))) + (use (match_dup 2))]
That's not the way to fix it. Get the predicates and constraints right.