summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug679493-2.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/bug679493-2.js')
-rw-r--r--js/src/jit-test/tests/ion/bug679493-2.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug679493-2.js b/js/src/jit-test/tests/ion/bug679493-2.js
new file mode 100644
index 000000000..4cb089c1c
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug679493-2.js
@@ -0,0 +1,30 @@
+// IM: Test generated code
+function neg(x) {
+ return -x;
+}
+assertEq(neg(0), -0);
+assertEq(neg(1), -1);
+assertEq(neg(-1), 1);
+assertEq(neg(-2147483648), 2147483648);
+assertEq(neg(-1.3), 1.3);
+assertEq(neg(1.45), -1.45);
+
+// IM: Test constant folding
+function neg2(){
+ var x = 1;
+ var y = -x;
+ return y;
+}
+assertEq(neg2(), -1);
+function neg3(){
+ var x = 0;
+ var y = -x;
+ return y;
+}
+assertEq(neg3(), -0);
+function neg4(){
+ var x = -2147483648;
+ var y = -x;
+ return y;
+}
+assertEq(neg4(), 2147483648);