diff options
author | John van Groningen | 2004-04-23 14:20:33 +0000 |
---|---|---|
committer | John van Groningen | 2004-04-23 14:20:33 +0000 |
commit | 07f581b742ee623014947b9c9ced8eb26c59603d (patch) | |
tree | 6f064e8fc905fbeb231c115cf1ceef24f0fd43bf /cgpwas.c | |
parent | port to gcc on Mac OS X (diff) |
implement umulIIL instruction on the PowerPC
Diffstat (limited to 'cgpwas.c')
-rw-r--r-- | cgpwas.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -2259,6 +2259,21 @@ static void w_as_mul_instruction (struct instruction *instruction) w_as_newline(); } +static void w_as_umulh_instruction (struct instruction *instruction) +{ + int r,reg; + + r=instruction->instruction_parameters[1].parameter_data.reg.r; + + reg=w_as_register_parameter (instruction->instruction_parameters[0],SIZE_LONG); + + w_as_opcode ("mulhwu"); + w_as_register_comma (r); + w_as_register_comma (r); + w_as_register (reg); + w_as_newline(); +} + static void w_as_mulo_instruction (struct instruction *instruction) { int r,reg; @@ -3183,6 +3198,9 @@ static void w_as_instructions (register struct instruction *instruction) case IMULO: w_as_mulo_instruction (instruction); break; + case IUMULH: + w_as_umulh_instruction (instruction); + break; case IFTST: default: internal_error_in_function ("w_as_instructions"); |