|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [PATCH RFC v1 03/29] target-arc: SUB, SUB1, SUB2, SUB3, SBC, RSUB, CMP |
Date: | Tue, 20 Sep 2016 16:32:53 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 09/08/2016 03:31 PM, Michael Rolnik wrote:
+static void gen_sub_Cf(TCGv dest, TCGv src1, TCGv src2) +{ + TCGv t1 = tcg_temp_new_i32(); + TCGv t2 = tcg_temp_new_i32(); + TCGv t3 = tcg_temp_new_i32(); + + tcg_gen_not_tl(t1, src1); /* t1 = ~src1 */ + tcg_gen_and_tl(t2, t1, src2); /* t2 = ~src1 & src2 */ + tcg_gen_or_tl(t3, t1, src2); /* t3 = (~src1 | src2) & dest */ + tcg_gen_and_tl(t3, t3, dest); + tcg_gen_or_tl(t2, t2, t3); /* t2 = ~src1 & src2 + | ~src1 & dest + | dest & src2 */ + tcg_gen_shri_tl(cpu_Cf, t2, 31);/* Cf = t2(31) */
Again, this can be done with tcg_gen_sub2_tl. r~
[Prev in Thread] | Current Thread | [Next in Thread] |