[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