Various fixes related to integer negate operations.

- Emit an RSB instruction for HNeg nodes in the ARM code
  generator instead of RSBS, as we do not need to update the
  condition code flags in this case.
- Simply punt when trying to statically evaluate a long
  unary operation, instead of aborting.
- Move a test case to the right place.

Change-Id: I35eb8dea58ed35258d4d8df77181159c3ab07b6f
diff --git a/test/411-optimizing-arith/src/Main.java b/test/411-optimizing-arith/src/Main.java
index 2b3ba33..ab8a83f 100644
--- a/test/411-optimizing-arith/src/Main.java
+++ b/test/411-optimizing-arith/src/Main.java
@@ -52,8 +52,6 @@
     expectEquals(36L, $opt$Mul(-12L, -3L));
     expectEquals(33L, $opt$Mul(1L, 3L) * 11);
     expectEquals(240518168583L, $opt$Mul(34359738369L, 7L)); // (2^35 + 1) * 7
-
-    $opt$InplaceNegOne(1);
   }
 
   public static void neg() {
@@ -75,6 +73,8 @@
     //   Overflow occurs in this case, but no exception is thrown.
     //   For all integer values x, -x equals (~x)+1.''
     expectEquals(-2147483648, $opt$Neg(-2147483648)); // -(2^31)
+
+    $opt$InplaceNegOne(1);
   }
 
   public static void $opt$InplaceNegOne(int a) {