* jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
authorRoger Sayle <roger@eyesopen.com>
Thu, 18 Sep 2003 14:55:43 +0000 (14:55 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Thu, 18 Sep 2003 14:55:43 +0000 (14:55 +0000)
From-SVN: r71524

gcc/java/ChangeLog
gcc/java/jcf-write.c

index a171aa1bd98e3f91d1b3fcfc4942280d50d3f9f9..5c9ca01393072dde18e10e5e818939e1c343cd45 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-18  Roger Sayle  <roger@eyesopen.com>
+
+       * jcf-write.c (generate_bytecode_insns): Add support for fconst_2.
+
 2003-09-16  Andrew Haley  <aph@redhat.com>
 
        * jcf-write.c (generate_bytecode_insns): Add MIN_EXPR and MAX_EXPR.
index febd04fbcaa761507597a4e7d9354eebcb89d1ae..82c77b1c831014fc576f0dee620c77a8adb035d9 100644 (file)
@@ -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
          {