From: Roger Sayle Date: Tue, 1 Feb 2005 21:20:34 +0000 (+0000) Subject: jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR of unsigned types using... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8ddd633ab7c014302093a65f134fd2b7edea97b9;p=gcc.git jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR of unsigned types using iushr and lushr JVM bytecodes. * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR of unsigned types using iushr and lushr JVM bytecodes. From-SVN: r94560 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 64e12fe6133..d8310a0db5d 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2005-02-01 Roger Sayle + + * jcf-write.c (generate_bytecode_insns): Implement RSHIFT_EXPR + of unsigned types using iushr and lushr JVM bytecodes. + 2005-02-02 Ranjit Mathew PR java/19738 diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index da8c6c99870..603eaa51ee9 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -2146,7 +2146,9 @@ generate_bytecode_insns (tree exp, int target, struct jcf_partial *state) jopcode = OPCODE_irem; goto binop; case LSHIFT_EXPR: jopcode = OPCODE_ishl; goto binop; - case RSHIFT_EXPR: jopcode = OPCODE_ishr; goto binop; + case RSHIFT_EXPR: + jopcode = TYPE_UNSIGNED (type) ? OPCODE_iushr : OPCODE_ishr; + goto binop; case URSHIFT_EXPR: jopcode = OPCODE_iushr; goto binop; case TRUTH_AND_EXPR: case BIT_AND_EXPR: jopcode = OPCODE_iand; goto binop;