On 26/5/24 21:42, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  target/sparc/helper.h     |  4 ++++
  target/sparc/insns.decode |  5 +++++
  target/sparc/translate.c  |  9 +++++++++
  target/sparc/vis_helper.c | 40 +++++++++++++++++++++++++++++++++++++++
  4 files changed, 58 insertions(+)


+uint64_t helper_fcmpeq8(uint64_t src1, uint64_t src2)
+{
+    uint64_t a = src1 ^ src2;
+    uint64_t m = 0x7f7f7f7f7f7f7f7fULL;
+    uint64_t c = ~(((a & m) + m) | a | m);
+
+    /* a.......b.......c.......d.......e.......f.......g.......h....... */
+    c |= c << 7;
+    /* ab......bc......cd......de......ef......fg......gh......h....... */
+    c |= c << 14;
+    /* abcd....bcde....cdef....defg....efgh....fgh.....gh......h....... */
+    c |= c << 28;
+    /* abcdefghbcdefgh.cdefgh..defgh...efgh....fgh.....gh......h....... */
+    return c >> 56;
+}

Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>


Reply via email to