summaryrefslogtreecommitdiff
path: root/gcc/java/jcf-write.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-18 14:55:43 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-09-18 14:55:43 +0000
commit7e172d5c38584203f4806a0835192f5cc569ace4 (patch)
treec9a47357d7fdbb3f7af3ed6a39390f77f560406c /gcc/java/jcf-write.c
parent124892920464810dc892a6d874bf5543e5e6552e (diff)
downloadgcc-7e172d5c38584203f4806a0835192f5cc569ace4.tar.gz
* jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71524 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/jcf-write.c')
-rw-r--r--gcc/java/jcf-write.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c
index febd04fbcaa..82c77b1c831 100644
--- a/gcc/java/jcf-write.c
+++ b/gcc/java/jcf-write.c
@@ -1462,8 +1462,9 @@ generate_bytecode_insns (tree exp, int target, struct jcf_partial *state)
OP1 (prec == 1 ? OPCODE_fconst_0 : OPCODE_dconst_0);
else if (real_onep (exp))
OP1 (prec == 1 ? OPCODE_fconst_1 : OPCODE_dconst_1);
- /* FIXME Should also use fconst_2 for 2.0f.
- Also, should use iconst_2/ldc followed by i2f/i2d
+ else if (prec == 1 && real_twop (exp))
+ OP1 (OPCODE_fconst_2);
+ /* ??? We could also use iconst_3/ldc followed by i2f/i2d
for other float/double when the value is a small integer. */
else
{