aboutsummaryrefslogtreecommitdiff
path: root/target-alpha/helper.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2014-07-03 13:18:26 -0700
committerRichard Henderson <rth@twiddle.net>2015-05-18 13:03:47 -0700
commit4d1628e832dfc6ec02b0d196f6cc250aaa7bf3b3 (patch)
tree9db81b4c7e9833618daaeaa4f81bdb1ee848cf88 /target-alpha/helper.h
parent7b4dde839e86ca6c254d4e3cd28260e9d668afb5 (diff)
target-alpha: Fix integer overflow checking insns
We need to write the result to the destination register before raising any exception. Thus inline the code for each insn, and check for any exception after we're done. Reported-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-alpha/helper.h')
-rw-r--r--target-alpha/helper.h7
1 files changed, 1 insertions, 6 deletions
diff --git a/target-alpha/helper.h b/target-alpha/helper.h
index 9e7b7712f8..5b1a5d9ca5 100644
--- a/target-alpha/helper.h
+++ b/target-alpha/helper.h
@@ -1,12 +1,7 @@
DEF_HELPER_3(excp, noreturn, env, int, int)
DEF_HELPER_FLAGS_1(load_pcc, TCG_CALL_NO_RWG_SE, i64, env)
-DEF_HELPER_FLAGS_3(addqv, TCG_CALL_NO_WG, i64, env, i64, i64)
-DEF_HELPER_FLAGS_3(addlv, TCG_CALL_NO_WG, i64, env, i64, i64)
-DEF_HELPER_FLAGS_3(subqv, TCG_CALL_NO_WG, i64, env, i64, i64)
-DEF_HELPER_FLAGS_3(sublv, TCG_CALL_NO_WG, i64, env, i64, i64)
-DEF_HELPER_FLAGS_3(mullv, TCG_CALL_NO_WG, i64, env, i64, i64)
-DEF_HELPER_FLAGS_3(mulqv, TCG_CALL_NO_WG, i64, env, i64, i64)
+DEF_HELPER_FLAGS_3(check_overflow, TCG_CALL_NO_WG, void, env, i64, i64)
DEF_HELPER_FLAGS_1(ctpop, TCG_CALL_NO_RWG_SE, i64, i64)
DEF_HELPER_FLAGS_1(ctlz, TCG_CALL_NO_RWG_SE, i64, i64)