Skip to content

Use polymorphic compare for [Arch.equal_*] #293

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
116 changes: 2 additions & 114 deletions backend/amd64/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -222,117 +222,5 @@ let float_cond_and_need_swap cond =
| CFge -> LEf, true
| CFnge -> NLEf, true


let equal_addressing_mode left right =
match left, right with
| Ibased (left_sym, left_displ), Ibased (right_sym, right_displ) ->
String.equal left_sym right_sym && Int.equal left_displ right_displ
| Iindexed left_displ, Iindexed right_displ ->
Int.equal left_displ right_displ
| Iindexed2 left_displ, Iindexed2 right_displ ->
Int.equal left_displ right_displ
| Iscaled (left_scale, left_displ), Iscaled (right_scale, right_displ) ->
Int.equal left_scale right_scale && Int.equal left_displ right_displ
| Iindexed2scaled (left_scale, left_displ), Iindexed2scaled (right_scale, right_displ) ->
Int.equal left_scale right_scale && Int.equal left_displ right_displ
| Ibased _, (Iindexed _ | Iindexed2 _ | Iscaled _ | Iindexed2scaled _)
| Iindexed _, (Ibased _ | Iindexed2 _ | Iscaled _ | Iindexed2scaled _)
| Iindexed2 _, (Ibased _ | Iindexed _ | Iscaled _ | Iindexed2scaled _)
| Iscaled _, (Ibased _ | Iindexed _ | Iindexed2 _ | Iindexed2scaled _)
| Iindexed2scaled _, (Ibased _ | Iindexed _ | Iindexed2 _ | Iscaled _) ->
false

let equal_prefetch_temporal_locality_hint left right =
match left, right with
| Nonlocal, Nonlocal -> true
| Low, Low -> true
| Moderate, Moderate -> true
| High, High -> true
| Nonlocal, (Low | Moderate | High)
| Low, (Nonlocal | Moderate | High)
| Moderate, (Nonlocal | Low | High)
| High, (Nonlocal | Low | Moderate) ->
false

let equal_float_operation left right =
match left, right with
| Ifloatadd, Ifloatadd -> true
| Ifloatsub, Ifloatsub -> true
| Ifloatmul, Ifloatmul -> true
| Ifloatdiv, Ifloatdiv -> true
| Ifloatadd, (Ifloatsub | Ifloatmul | Ifloatdiv)
| Ifloatsub, (Ifloatadd | Ifloatmul | Ifloatdiv)
| Ifloatmul, (Ifloatadd | Ifloatsub | Ifloatdiv)
| Ifloatdiv, (Ifloatadd | Ifloatsub | Ifloatmul) ->
false

let equal_specific_operation left right =
match left, right with
| Ilea x, Ilea y -> equal_addressing_mode x y
| Istore_int (x, x', x''), Istore_int (y, y', y'') ->
Nativeint.equal x y && equal_addressing_mode x' y' && Bool.equal x'' y''
| Ioffset_loc (x, x'), Ioffset_loc (y, y') ->
Int.equal x y && equal_addressing_mode x' y'
| Ifloatarithmem (x, x'), Ifloatarithmem (y, y') ->
equal_float_operation x y && equal_addressing_mode x' y'
| Ibswap left, Ibswap right ->
Int.equal left right
| Isqrtf, Isqrtf ->
true
| Ifloatsqrtf left, Ifloatsqrtf right ->
equal_addressing_mode left right
| Isextend32, Isextend32 ->
true
| Izextend32, Izextend32 ->
true
| Irdtsc, Irdtsc ->
true
| Irdpmc, Irdpmc ->
true
| Icrc32q, Icrc32q ->
true
| Iprefetch { is_write = left_is_write; locality = left_locality; addr = left_addr; },
Iprefetch { is_write = right_is_write; locality = right_locality; addr = right_addr; } ->
Bool.equal left_is_write right_is_write
&& equal_prefetch_temporal_locality_hint left_locality right_locality
&& equal_addressing_mode left_addr right_addr
| Ilea _, (Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _ | Isqrtf
| Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Istore_int _, (Ilea _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _ | Isqrtf
| Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Ioffset_loc _, (Ilea _ | Istore_int _ | Ifloatarithmem _ | Ibswap _ | Isqrtf
| Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Ifloatarithmem _, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ibswap _ | Isqrtf
| Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Ibswap _, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Isqrtf
| Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Isqrtf, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Ifloatsqrtf _, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ |
Ibswap _ | Isqrtf | Isextend32 | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Isextend32, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Isqrtf | Ifloatsqrtf _ | Izextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Izextend32, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Isqrtf | Ifloatsqrtf _ | Isextend32 | Irdtsc | Irdpmc | Icrc32q
| Iprefetch _)
| Irdtsc, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Isqrtf | Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdpmc | Icrc32q
| Iprefetch _)
| Irdpmc, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Isqrtf | Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Icrc32q
| Iprefetch _)
| Icrc32q, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Isqrtf | Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc
| Iprefetch _)
| Iprefetch _, (Ilea _ | Istore_int _ | Ioffset_loc _ | Ifloatarithmem _ | Ibswap _
| Isqrtf | Ifloatsqrtf _ | Isextend32 | Izextend32 | Irdtsc | Irdpmc
| Icrc32q) ->
false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right
74 changes: 2 additions & 72 deletions backend/arm/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -264,75 +264,5 @@ let is_immediate n =
done;
!s <= m

let equal_addressing_mode left right =
match left, right with
| Iindexed left, Iindexed right -> Int.equal left right

let equal_prefetch_temporal_locality_hint _ _ : bool =
assert false

let equal_float_operation _ _ : bool =
assert false

let equal_arith_operation left right =
match left, right with
| Ishiftadd, Ishiftadd -> true
| Ishiftsub, Ishiftsub -> true
| Ishiftsubrev, Ishiftsubrev -> true
| Ishiftand, Ishiftand -> true
| Ishiftor, Ishiftor -> true
| Ishiftxor, Ishiftxor -> true
| Ishiftadd, (Ishiftsub | Ishiftsubrev | Ishiftand | Ishiftor | Ishiftxor)
| Ishiftsub, (Ishiftadd | Ishiftsubrev | Ishiftand | Ishiftor | Ishiftxor)
| Ishiftsubrev, (Ishiftadd | Ishiftsub | Ishiftand | Ishiftor | Ishiftxor)
| Ishiftand, (Ishiftadd | Ishiftsub | Ishiftsubrev | Ishiftor | Ishiftxor)
| Ishiftor, (Ishiftadd | Ishiftsub | Ishiftsubrev | Ishiftand | Ishiftxor)
| Ishiftxor, (Ishiftadd | Ishiftsub | Ishiftsubrev | Ishiftand | Ishiftor) ->
false

let equal_shift_operation left right =
match left, right with
| Ishiftlogicalleft, Ishiftlogicalleft -> true
| Ishiftlogicalright, Ishiftlogicalright -> true
| Ishiftarithmeticright, Ishiftarithmeticright -> true
| Ishiftlogicalleft, (Ishiftlogicalright | Ishiftarithmeticright)
| Ishiftlogicalright, (Ishiftlogicalleft | Ishiftarithmeticright)
| Ishiftarithmeticright, (Ishiftlogicalleft | Ishiftlogicalright) ->
false

let equal_specific_operation left right =
match left, right with
| Ishiftarith (left_arith_operation, left_shift_operation, left_int),
Ishiftarith (right_arith_operation, right_shift_operation, right_int) ->
equal_arith_operation left_arith_operation right_arith_operation
&& equal_shift_operation left_shift_operation right_shift_operation
&& Int.equal left_int right_int
| Ishiftcheckbound (left_shift_operation, left_int),
Ishiftcheckbound (right_shift_operation, right_int) ->
equal_shift_operation left_shift_operation right_shift_operation
&& Int.equal left_int right_int
| Irevsubimm left, Irevsubimm right -> true
| Imulhadd, Imulhadd -> true
| Imuladd, Imuladd -> true
| Imulsub, Imulsub -> true
| Inegmulf, Inegmulf -> true
| Imuladdf, Imuladdf -> true
| Inegmuladdf, Inegmuladdf -> true
| Imulsubf, Imulsubf -> true
| Inegmulsubf, Inegmulsubf -> true
| Isqrtf, Isqrtf -> true
| Ibswap left, Ibswap right -> Int.equal left right
| Ishiftarith _, (Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Ishiftcheckbound _, (Ishiftarith _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Irevsubimm _, (Ishiftarith _ | Ishiftcheckbound _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Imulhadd, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Imuladd, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Imulsub, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Inegmulf, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Imuladdf, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Inegmuladdf, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _)
| Imulsubf, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Inegmulsubf | Isqrtf | Ibswap _)
| Inegmulsubf, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Isqrtf | Ibswap _)
| Isqrtf, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Ibswap _)
| Ibswap _, (Ishiftarith _ | Ishiftcheckbound _ | Irevsubimm _ | Imulhadd | Imuladd | Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf) ->
false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right
115 changes: 2 additions & 113 deletions backend/arm64/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -170,116 +170,5 @@ let print_specific_operation printreg op ppf arg =
fprintf ppf "move32 %a"
printreg arg.(0)

let equal_addressing_mode left right =
match left, right with
| Iindexed left_int, Iindexed right_int ->
Int.equal left_int right_int
| Ibased (left_string, left_int), Ibased (right_string, right_int) ->
String.equal left_string right_string
&& Int.equal left_int right_int
| Iindexed _, Ibased _
| Ibased _, Iindexed _ ->
false

let equal_prefetch_temporal_locality_hint _ _ : bool =
assert false

let equal_float_operation _ _ : bool =
assert false

let equal_arith_operation left right =
match left, right with
| Ishiftadd, Ishiftadd -> true
| Ishiftsub, Ishiftsub -> true
| Ishiftadd, Ishiftsub
| Ishiftsub, Ishiftadd ->
false

let equal_specific_operation left right =
match left, right with
| Ifar_alloc { bytes = left_bytes; dbginfo = _; },
Ifar_alloc { bytes = right_bytes; dbginfo = _; } ->
Int.equal left_bytes right_bytes
| Ifar_intop_checkbound, Ifar_intop_checkbound -> true
| Ifar_intop_imm_checkbound { bound = left_bound; },
Ifar_intop_imm_checkbound { bound = right_bound; } ->
Int.equal left_bound right_bound
| Ishiftarith (left_arith_operation, left_int),
Ishiftarith (right_arith_operation, right_int) ->
equal_arith_operation left_arith_operation right_arith_operation
&& Int.equal left_int right_int
| Ishiftcheckbound { shift = left_shift; },
Ishiftcheckbound { shift = right_shift; } ->
Int.equal left_shift right_shift
| Ifar_shiftcheckbound { shift = left_shift; },
Ifar_shiftcheckbound { shift = right_shift; } ->
Int.equal left_shift right_shift
| Imuladd, Imuladd -> true
| Imulsub, Imulsub -> true
| Inegmulf, Inegmulf -> true
| Imuladdf, Imuladdf -> true
| Inegmuladdf, Inegmuladdf -> true
| Imulsubf, Imulsubf -> true
| Inegmulsubf, Inegmulsubf -> true
| Isqrtf, Isqrtf -> true
| Ibswap left_int, Ibswap right_int -> Int.equal left_int right_int
| Imove32, Imove32 -> true
| Ifar_alloc _, (Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub
| Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf
| Ibswap _ | Imove32)
| Ifar_intop_checkbound, (Ifar_alloc _ | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd
| Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf
| Inegmulsubf | Isqrtf | Ibswap _ | Imove32)
| Ifar_intop_imm_checkbound _, (Ifar_alloc _ | Ifar_intop_checkbound | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd
| Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf
| Inegmulsubf | Isqrtf | Ibswap _ | Imove32)
| Ishiftarith _, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub
| Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf
| Ibswap _ | Imove32)
| Ishiftcheckbound _, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _
| Ishiftarith _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub
| Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf
| Isqrtf | Ibswap _ | Imove32)
| Ifar_shiftcheckbound _, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _
| Ishiftarith _ | Ishiftcheckbound _ | Imuladd | Imulsub
| Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf
| Isqrtf | Ibswap _ | Imove32)
| Imuladd, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imulsub | Inegmulf | Imuladdf
| Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _ | Imove32)
| Imulsub, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Inegmulf | Imuladdf
| Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _ | Imove32)
| Inegmulf, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub | Imuladdf
| Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _ | Imove32)
| Imuladdf, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ |
Ishiftarith _ | Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd
| Imulsub | Inegmulf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf
| Ibswap _ | Imove32)
| Inegmuladdf, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _
| Ishiftarith _ | Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd
| Imulsub | Inegmulf | Imuladdf | Imulsubf | Inegmulsubf | Isqrtf
| Ibswap _ | Imove32)
| Imulsubf, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _
| Ishiftarith _ | Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd
| Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Inegmulsubf | Isqrtf
| Ibswap _ | Imove32)
| Inegmulsubf, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _
| Ishiftarith _ | Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd
| Imulsub | Inegmulf | Imuladdf | Inegmuladdf | Imulsubf | Isqrtf | Ibswap _
| Imove32)
| Isqrtf, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub | Inegmulf
| Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Ibswap _ | Imove32)
| Ibswap _, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub | Inegmulf
| Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Imove32)
| Imove32, (Ifar_alloc _ | Ifar_intop_checkbound | Ifar_intop_imm_checkbound _ | Ishiftarith _
| Ishiftcheckbound _ | Ifar_shiftcheckbound _ | Imuladd | Imulsub | Inegmulf
| Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf | Isqrtf | Ibswap _) ->
false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right
7 changes: 2 additions & 5 deletions backend/i386/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,5 @@ let stack_alignment =
| _ -> 16
(* PR#6038: GCC and Clang seem to require 16-byte alignment nowadays *)

(* CR xclerc for xclerc: TODO *)
let equal_addressing_mode _ _ : bool = assert false
let equal_prefetch_temporal_locality_hint _ _ : bool = assert false
let equal_float_operation _ _ : bool = assert false
let equal_specific_operation _ _ : bool = assert false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right
7 changes: 2 additions & 5 deletions backend/power/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,5 @@ let print_specific_operation printreg op ppf arg =
| Ialloc_far { bytes; _ } ->
fprintf ppf "alloc_far %d" bytes

(* CR xclerc for xclerc: TODO *)
let equal_addressing_mode _ _ : bool = assert false
let equal_prefetch_temporal_locality_hint _ _ : bool = assert false
let equal_float_operation _ _ : bool = assert false
let equal_specific_operation _ _ : bool = assert false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right
7 changes: 2 additions & 5 deletions backend/riscv/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,5 @@ let print_specific_operation printreg op ppf arg =
fprintf ppf "-f (%a *f %a -f %a)"
printreg arg.(0) printreg arg.(1) printreg arg.(2)

(* CR xclerc for xclerc: TODO *)
let equal_addressing_mode _ _ : bool = assert false
let equal_prefetch_temporal_locality_hint _ _ : bool = assert false
let equal_float_operation _ _ : bool = assert false
let equal_specific_operation _ _ : bool = assert false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right
7 changes: 2 additions & 5 deletions backend/s390x/arch.ml
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,5 @@ let print_specific_operation printreg op ppf arg =
fprintf ppf "%a *f %a -f %a"
printreg arg.(0) printreg arg.(1) printreg arg.(2)

(* CR xclerc for xclerc: TODO *)
let equal_addressing_mode _ _ : bool = assert false
let equal_prefetch_temporal_locality_hint _ _ : bool = assert false
let equal_float_operation _ _ : bool = assert false
let equal_specific_operation _ _ : bool = assert false
let equal_addressing_mode left right = left = right
let equal_specific_operation left right = left = right