[tilegx] Auto-vectorize support for add/sub.

  but there is performance regression when auto-vectorizer enabled.

  for example, for the following simple loop

    void test4(int* restrict a, int* restrict b, int k)
      {
        for (int i = 0; i < k; i++)
          {
            a[i] = a[i] + b[i];
          }
      }

  a rough profiling result:

            no auto-vec     autovec
  gcc-4.4.6  800 cycles      650
  clang      1400            2000
[tilegx] Improve asm output format (no function change)

  use "op\tdest" instead of "op dest", the output looks better.
More conveinent for people to do assembly analysis.
[tilegx] Optimize prologue generation.

  for leaf function, if the fp is not used, then no need to
allocate stack frame.
[tilegx] Fix data layout description glitch

  TileGX native support 64bit integer.

  middle-end optimizer will use data layout info to decide whether
it's beneficial to do some instruction combine.

  after this fix, some redundant type conversions are omitted, and
llvm auto-vectorizer begin to get reasonable performance improvements.

test-case:

        void test4(int* restrict a, int* restrict b, int k)
          {
            for (int i = 0; i < k; i++)
              {
                a[i] = a[i] + b[i];
              }
          }

before fix:
                no auto-vec     autovec
      gcc-4.4.6  800 cycles      650
      clang      1400            2000

after fix
                no auto-vec     autovec
      gcc-4.4.6  800 cycles      650
      clang      1000            900