diff --git a/target-ppc/op.c b/target-ppc/op.c
index bbc5c5b..81c426c 100644
--- a/target-ppc/op.c
+++ b/target-ppc/op.c
@@ -2199,9 +2199,9 @@
 /* XXX: those micro-ops need tests ! */
 void OPPROTO op_POWER_abs (void)
 {
-    if (T0 == INT32_MIN)
+    if ((int32_t)T0 == INT32_MIN)
         T0 = INT32_MAX;
-    else if (T0 < 0)
+    else if ((int32_t)T0 < 0)
         T0 = -T0;
     RETURN();
 }
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index 75bf33b..7d1411a 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -1512,14 +1512,16 @@
 /* PowerPC 601 specific instructions (POWER bridge) */
 void do_POWER_abso (void)
 {
-    if ((uint32_t)T0 == INT32_MIN) {
+    if ((int32_t)T0 == INT32_MIN) {
         T0 = INT32_MAX;
         xer_ov = 1;
-        xer_so = 1;
-    } else {
+    } else if ((int32_t)T0 < 0) {
         T0 = -T0;
         xer_ov = 0;
+    } else {
+        xer_ov = 0;
     }
+    xer_so |= xer_ov;
 }
 
 void do_POWER_clcs (void)
@@ -1896,8 +1898,8 @@
 /* Fixed-point vector arithmetic */
 static always_inline uint32_t _do_eabs (uint32_t val)
 {
-    if (val != 0x80000000)
-        val &= ~0x80000000;
+    if ((val & 0x80000000) && val != 0x80000000)
+        val -= val;
 
     return val;
 }
@@ -1923,7 +1925,7 @@
 static always_inline uint32_t _do_eneg (uint32_t val)
 {
     if (val != 0x80000000)
-        val ^= 0x80000000;
+        val -= val;
 
     return val;
 }
