Refactor LLInt64 to distinguish the pointer operations from the 64-bit integer operations
https://bugs.webkit.org/show_bug.cgi?id=100321

Reviewed by Filip Pizlo.

We have refactored the MacroAssembler and JIT compilers to distinguish
the pointer operations from the 64-bit integer operations (see bug #99154).
Now we want to do the similar work for LLInt, and the goal is same as
the one mentioned in 99154.

This is the first part of the modification: in the offline assembler,
adding the support of the "<foo>q" instructions which will be used for
64-bit integer operations.

* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
* offlineasm/cloop.rb:
* offlineasm/instructions.rb:
* offlineasm/x86.rb:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/offlineasm/instructions.rb b/Source/JavaScriptCore/offlineasm/instructions.rb
index ddb1bb9..8b23907 100644
--- a/Source/JavaScriptCore/offlineasm/instructions.rb
+++ b/Source/JavaScriptCore/offlineasm/instructions.rb
@@ -33,15 +33,19 @@
      "andi",
      "lshifti",
      "lshiftp",
+     "lshiftq",
      "muli",
      "negi",
      "negp",
+     "negq",
      "noti",
      "ori",
      "rshifti",
      "urshifti",
      "rshiftp",
      "urshiftp",
+     "rshiftq",
+     "urshiftq",
      "subi",
      "xori",
      "loadi",
@@ -65,6 +69,8 @@
      "fd2ii", # usage: fd2ii <fpr>, <gpr with least significant bits>, <gpr with most significant bits>
      "fp2d",
      "fd2p",
+     "fq2d",
+     "fd2q",
      "bdeq",
      "bdneq",
      "bdgt",
@@ -86,6 +92,8 @@
      "move",
      "sxi2p",
      "zxi2p",
+     "sxi2q",
+     "zxi2q",
      "nop",
      "bieq",
      "bineq",
@@ -199,6 +207,46 @@
      "baddps",
      "baddpz",
      "baddpnz",
+     "tqs",
+     "tqz",
+     "tqnz",
+     "peekq",
+     "pokeq",
+     "bqeq",
+     "bqneq",
+     "bqa",
+     "bqaeq",
+     "bqb",
+     "bqbeq",
+     "bqgt",
+     "bqgteq",
+     "bqlt",
+     "bqlteq",
+     "addq",
+     "mulq",
+     "andq",
+     "orq",
+     "subq",
+     "xorq",
+     "loadq",
+     "cqeq",
+     "cqneq",
+     "cqa",
+     "cqaeq",
+     "cqb",
+     "cqbeq",
+     "cqgt",
+     "cqgteq",
+     "cqlt",
+     "cqlteq",
+     "storeq",
+     "btqs",
+     "btqz",
+     "btqnz",
+     "baddqo",
+     "baddqs",
+     "baddqz",
+     "baddqnz",
      "bo",
      "bs",
      "bz",