builtins: correct constant alignments

MMX/SSE instructions expect 128-bit alignment (16-byte) for constants that they
reference.  Correct the alignment on the constant values.  Although it is quite
possible for the data to end up aligned, there is no guarantee that this will
occur unless it is explicitly aligned to the desired location.  If the data ends
up being unaligned, the resultant binary would fault at runtime due to the
unaligned access.

As an example, the follow would fault previously:
  cc -c lib/builtins/x86_64/floatundidf.S -o floatundidf.o
  cc -c test/builtins/Unit/floatundidf_test.c -o floatundidf_test.c
  ld -m elf_x86_64 floatundidf.o floatundidf_test.o -lc -o floatundidf

However, if the object files were reversed, the data would end up aligned and
the problem would go unnoticed.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@214033 91177308-0d34-0410-b5e6-96231b3b80d8
builtins: move the readonly constants into rodata

Place the floating point constants into the read-only data section.  This was
already being done for x86_64, this simply mirrors the behaviour for i686.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@214034 91177308-0d34-0410-b5e6-96231b3b80d8