summaryrefslogtreecommitdiff
path: root/tcg/optimize.c
diff options
context:
space:
mode:
authorStefan Weil <sw@weilnetz.de>2013-09-12 21:13:13 +0200
committerStefan Weil <sw@weilnetz.de>2013-09-25 21:23:05 +0200
commit3df2b8fde949be86d8a78923c992fdd698d4ea4c (patch)
tree09c4db80712626acaed595506233559a2d4ebd2d /tcg/optimize.c
parent6aa25b4a7bb10c48c3054f268d5be98e42ea42c0 (diff)
downloadqemu-3df2b8fde949be86d8a78923c992fdd698d4ea4c.tar.gz
qemu-3df2b8fde949be86d8a78923c992fdd698d4ea4c.tar.bz2
qemu-3df2b8fde949be86d8a78923c992fdd698d4ea4c.zip
misc: Use new rotate functions
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Diffstat (limited to 'tcg/optimize.c')
-rw-r--r--tcg/optimize.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/tcg/optimize.c b/tcg/optimize.c
index b29bf25b67..89e2d6a3b3 100644
--- a/tcg/optimize.c
+++ b/tcg/optimize.c
@@ -238,20 +238,16 @@ static TCGArg do_constant_folding_2(TCGOpcode op, TCGArg x, TCGArg y)
return (int64_t)x >> (int64_t)y;
case INDEX_op_rotr_i32:
- x = ((uint32_t)x << (32 - y)) | ((uint32_t)x >> y);
- return x;
+ return ror32(x, y);
case INDEX_op_rotr_i64:
- x = ((uint64_t)x << (64 - y)) | ((uint64_t)x >> y);
- return x;
+ return ror64(x, y);
case INDEX_op_rotl_i32:
- x = ((uint32_t)x << y) | ((uint32_t)x >> (32 - y));
- return x;
+ return rol32(x, y);
case INDEX_op_rotl_i64:
- x = ((uint64_t)x << y) | ((uint64_t)x >> (64 - y));
- return x;
+ return rol64(x, y);
CASE_OP_32_64(not):
return ~x;