diff options
-rw-r--r-- | mppa_k1c/Asmexpand.ml | 6 | ||||
-rw-r--r-- | mppa_k1c/PostpassSchedulingOracle.ml | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/mppa_k1c/Asmexpand.ml b/mppa_k1c/Asmexpand.ml index c49cfbd5..94846793 100644 --- a/mppa_k1c/Asmexpand.ml +++ b/mppa_k1c/Asmexpand.ml @@ -459,9 +459,9 @@ let expand_instruction instr = vararg_start_ofs := Some va_ofs; save_arguments n va_ofs end else begin - expand_addptrofs stack_pointer stack_pointer (Ptrofs.repr (Z.neg sz)); - emit Psemi; - expand_storeind_ptr Asmvliw.GPR17 stack_pointer ofs; + let below = Ptrofs.repr (Z.neg sz) in + expand_addptrofs stack_pointer stack_pointer below; + expand_storeind_ptr Asmvliw.GPR17 stack_pointer (Ptrofs.add ofs below); emit Psemi; vararg_start_ofs := None end diff --git a/mppa_k1c/PostpassSchedulingOracle.ml b/mppa_k1c/PostpassSchedulingOracle.ml index 5523752f..39a14727 100644 --- a/mppa_k1c/PostpassSchedulingOracle.ml +++ b/mppa_k1c/PostpassSchedulingOracle.ml @@ -603,9 +603,9 @@ let rec_to_usage r = | Some U27L5 | Some U27L10 -> mau_x | Some E27U27L10 -> mau_y) | Nop -> alu_nop - | Sraw | Srlw | Srsw | Sllw | Srad | Srld | Slld | Srsd -> (match encoding with None | Some U6 -> alu_tiny | _ -> raise InvalidEncoding) + | Sraw | Srlw | Srsw | Sllw | Srad | Srld | Slld -> (match encoding with None | Some U6 -> alu_tiny | _ -> raise InvalidEncoding) (* TODO: check *) - | Rorw -> (match encoding with None | Some U6 -> alu_lite | _ -> raise InvalidEncoding) + | Srsd | Rorw -> (match encoding with None | Some U6 -> alu_lite | _ -> raise InvalidEncoding) | Extfz | Extfs | Insf -> (match encoding with None -> alu_lite | _ -> raise InvalidEncoding) | Fixeduwz | Fixedwz | Floatwz | Floatuwz | Fixeddz | Fixedudz | Floatdz | Floatudz -> mau | Lbs | Lbz | Lhs | Lhz | Lws | Ld | Lq | Lo -> |