Blob Blame History Raw
From 84a4b62e1305795f6599c91a50b6e0d9e675cbd5 Mon Sep 17 00:00:00 2001
From: Nicolas Ojeda Bar <n.oje.bar@gmail.com>
Date: Thu, 10 Nov 2016 14:12:53 +0100
Subject: [PATCH 09/12] Try fix for andi/ori/xori immediates (#1)

---
 asmcomp/riscv/selection.ml | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/asmcomp/riscv/selection.ml b/asmcomp/riscv/selection.ml
index 60ec5cb4e..ad2b26e9b 100644
--- a/asmcomp/riscv/selection.ml
+++ b/asmcomp/riscv/selection.ml
@@ -36,11 +36,6 @@ method! select_operation op args =
   match (op, args) with
   (* RISC-V does not support immediate operands for multiply high *)
   | (Cmulhi, _) -> (Iintop Imulh, args)
-  (* The and, or and xor instructions have a different range of immediate
-     operands than the other instructions *)
-  | (Cand, _) -> self#select_logical Iand args
-  | (Cor, _) -> self#select_logical Ior args
-  | (Cxor, _) -> self#select_logical Ixor args
   (* Recognize (neg-)mult-add and (neg-)mult-sub instructions *)
   | (Caddf, [Cop(Cmulf, [arg1; arg2]); arg3])
   | (Caddf, [arg3; Cop(Cmulf, [arg1; arg2])]) ->
@@ -58,14 +53,6 @@ method! select_operation op args =
   | _ ->
       super#select_operation op args
 
-method select_logical op = function
-  | [arg; Cconst_int n] when n >= 0 && n <= 0xFFF ->
-      (Iintop_imm(op, n), [arg])
-  | [Cconst_int n; arg] when n >= 0 && n <= 0xFFF ->
-      (Iintop_imm(op, n), [arg])
-  | args ->
-      (Iintop op, args)
-
 (* Instruction selection for conditionals *)
 
 method! select_condition = function
-- 
2.13.2