[llvm-commits] [llvm-gcc-4.2] r78438 - /llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml

Bob Wilson bob.wilson at apple.com
Fri Aug 7 16:56:10 PDT 2009


Author: bwilson
Date: Fri Aug  7 18:56:10 2009
New Revision: 78438

URL: http://llvm.org/viewvc/llvm-project?rev=78438&view=rev
Log:
Change to generate arm_neon.h for vtrn, vzip and vuzp builtins that return
a pair of vectors in a struct.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml?rev=78438&r1=78437&r2=78438&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml Fri Aug  7 18:56:10 2009
@@ -1347,16 +1347,24 @@
        re: inlining, or tweaking the ABI used for intrinsics (a special call
        attribute?).
     *)
-    Vtrn, [ReturnPtr], Pair_result Dreg, "vtrn", bits_2, pf_su_8_32;
-    Vtrn, [ReturnPtr], Pair_result Qreg, "vtrnQ", bits_2, pf_su_8_32;
+    (* LLVM LOCAL begin Use return by value instead of ReturnPtr. *)
+    Vtrn, [], Use_operands [| VecArray (2, Dreg); Dreg; Dreg |],
+      "vtrn", bits_2, pf_su_8_32;
+    Vtrn, [], Use_operands [| VecArray (2, Qreg); Qreg; Qreg |],
+      "vtrnQ", bits_2, pf_su_8_32;
     
     (* Zip elements.  *)
-    Vzip, [ReturnPtr], Pair_result Dreg, "vzip", bits_2, pf_su_8_32;
-    Vzip, [ReturnPtr], Pair_result Qreg, "vzipQ", bits_2, pf_su_8_32;
+    Vzip, [], Use_operands [| VecArray (2, Dreg); Dreg; Dreg |],
+      "vzip", bits_2, pf_su_8_32;
+    Vzip, [], Use_operands [| VecArray (2, Qreg); Qreg; Qreg |],
+      "vzipQ", bits_2, pf_su_8_32;
     
     (* Unzip elements.  *)
-    Vuzp, [ReturnPtr], Pair_result Dreg, "vuzp", bits_2, pf_su_8_32;
-    Vuzp, [ReturnPtr], Pair_result Qreg, "vuzpQ", bits_2, pf_su_8_32;
+    Vuzp, [], Use_operands [| VecArray (2, Dreg); Dreg; Dreg |],
+      "vuzp", bits_2, pf_su_8_32;
+    Vuzp, [], Use_operands [| VecArray (2, Qreg); Qreg; Qreg |],
+      "vuzpQ", bits_2, pf_su_8_32;
+    (* LLVM LOCAL end Use return by value instead of ReturnPtr. *)
     
     (* Element/structure loads.  VLD1 variants.  *)
     Vldx 1,





More information about the llvm-commits mailing list