[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 18/31] Hexagon (target/hexagon) cleanup ternary operators in se
From: |
Richard Henderson |
Subject: |
[PULL v2 18/31] Hexagon (target/hexagon) cleanup ternary operators in semantics |
Date: |
Sun, 2 May 2021 07:44:06 -0700 |
From: Taylor Simpson <tsimpson@quicinc.com>
Change (cond ? (res = x) : (res = y)) to res = (cond ? x : y)
This makes the semnatics easier to for idef-parser to deal with
The following instructions are impacted
C2_any8
C2_all8
C2_mux
C2_muxii
C2_muxir
C2_muxri
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <1617930474-31979-14-git-send-email-tsimpson@quicinc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/hexagon/imported/compare.idef | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/target/hexagon/imported/compare.idef
b/target/hexagon/imported/compare.idef
index 3551467854..abd016ffb5 100644
--- a/target/hexagon/imported/compare.idef
+++ b/target/hexagon/imported/compare.idef
@@ -198,11 +198,11 @@
Q6INSN(C4_or_orn,"Pd4=or(Ps4,or(Pt4,!Pu4))",ATTRIBS(A_CRSLOT23),
Q6INSN(C2_any8,"Pd4=any8(Ps4)",ATTRIBS(A_CRSLOT23),
"Logical ANY of low 8 predicate bits",
-{ PsV ? (PdV=0xff) : (PdV=0x00); })
+{ PdV = (PsV ? 0xff : 0x00); })
Q6INSN(C2_all8,"Pd4=all8(Ps4)",ATTRIBS(A_CRSLOT23),
"Logical ALL of low 8 predicate bits",
-{ (PsV==0xff) ? (PdV=0xff) : (PdV=0x00); })
+{ PdV = (PsV == 0xff ? 0xff : 0x00); })
Q6INSN(C2_vitpack,"Rd32=vitpack(Ps4,Pt4)",ATTRIBS(),
"Pack the odd and even bits of two predicate registers",
@@ -212,7 +212,7 @@ Q6INSN(C2_vitpack,"Rd32=vitpack(Ps4,Pt4)",ATTRIBS(),
Q6INSN(C2_mux,"Rd32=mux(Pu4,Rs32,Rt32)",ATTRIBS(),
"Scalar MUX",
-{ (fLSBOLD(PuV)) ? (RdV=RsV):(RdV=RtV); })
+{ RdV = (fLSBOLD(PuV) ? RsV : RtV); })
Q6INSN(C2_cmovenewit,"if (Pu4.new) Rd32=#s12",ATTRIBS(A_ARCHV2),
@@ -269,18 +269,18 @@ Q6INSN(C2_ccombinewf,"if (!Pu4)
Rdd32=combine(Rs32,Rt32)",ATTRIBS(A_ARCHV2),
Q6INSN(C2_muxii,"Rd32=mux(Pu4,#s8,#S8)",ATTRIBS(A_ARCHV2),
"Scalar MUX immediates",
-{ fIMMEXT(siV); (fLSBOLD(PuV)) ? (RdV=siV):(RdV=SiV); })
+{ fIMMEXT(siV); RdV = (fLSBOLD(PuV) ? siV : SiV); })
Q6INSN(C2_muxir,"Rd32=mux(Pu4,Rs32,#s8)",ATTRIBS(A_ARCHV2),
"Scalar MUX register immediate",
-{ fIMMEXT(siV); (fLSBOLD(PuV)) ? (RdV=RsV):(RdV=siV); })
+{ fIMMEXT(siV); RdV = (fLSBOLD(PuV) ? RsV : siV); })
Q6INSN(C2_muxri,"Rd32=mux(Pu4,#s8,Rs32)",ATTRIBS(A_ARCHV2),
"Scalar MUX register immediate",
-{ fIMMEXT(siV); (fLSBOLD(PuV)) ? (RdV=siV):(RdV=RsV); })
+{ fIMMEXT(siV); RdV = (fLSBOLD(PuV) ? siV : RsV); })
--
2.25.1
- [PULL v2 19/31] Hexagon (target/hexagon) cleanup reg_field_info definition, (continued)
- [PULL v2 19/31] Hexagon (target/hexagon) cleanup reg_field_info definition, Richard Henderson, 2021/05/02
- [PULL v2 06/31] Hexagon (target/hexagon) TCG generation cleanup, Richard Henderson, 2021/05/02
- [PULL v2 16/31] Hexagon (target/hexagon) replace float32_mul_pow2 with float32_scalbn, Richard Henderson, 2021/05/02
- [PULL v2 24/31] Hexagon (target/hexagon) add A5_ACS (vacsh), Richard Henderson, 2021/05/02
- [PULL v2 20/31] Hexagon (target/hexagon) move QEMU_GENERATE to only be on during macros.h, Richard Henderson, 2021/05/02
- [PULL v2 12/31] Hexagon (target/hexagon) change variables from int to bool when appropriate, Richard Henderson, 2021/05/02
- [PULL v2 21/31] Hexagon (target/hexagon) compile all debug code, Richard Henderson, 2021/05/02
- [PULL v2 22/31] Hexagon (target/hexagon) add F2_sfrecipa instruction, Richard Henderson, 2021/05/02
- [PULL v2 26/31] Hexagon (target/hexagon) add A4_addp_c/A4_subp_c, Richard Henderson, 2021/05/02
- [PULL v2 28/31] Hexagon (target/hexagon) bit reverse (brev) addressing, Richard Henderson, 2021/05/02
- [PULL v2 18/31] Hexagon (target/hexagon) cleanup ternary operators in semantics,
Richard Henderson <=
- [PULL v2 23/31] Hexagon (target/hexagon) add F2_sfinvsqrta, Richard Henderson, 2021/05/02
- [PULL v2 25/31] Hexagon (target/hexagon) add A6_vminub_RdP, Richard Henderson, 2021/05/02
- [PULL v2 17/31] Hexagon (target/hexagon) use softfloat for float-to-int conversions, Richard Henderson, 2021/05/02
- [PULL v2 31/31] Hexagon (target/hexagon) CABAC decode bin, Richard Henderson, 2021/05/02
- [PULL v2 30/31] Hexagon (target/hexagon) load into shifted register instructions, Richard Henderson, 2021/05/02
- [PULL v2 29/31] Hexagon (target/hexagon) load and unpack bytes instructions, Richard Henderson, 2021/05/02
- [PULL v2 27/31] Hexagon (target/hexagon) circular addressing, Richard Henderson, 2021/05/02
- Re: [PULL v2 00/31] target/hexagon patch queue, Peter Maydell, 2021/05/03