From: Chris Lattner Date: Thu, 13 Apr 2006 16:48:00 +0000 (+0000) Subject: add a note, move an altivec todo to the altivec list. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ed9379051708a6ef858bcfa4e300f126eb69c178;p=oota-llvm.git add a note, move an altivec todo to the altivec list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27654 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index e29dd52e282..6b3988dfb9a 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -551,12 +551,11 @@ void func(unsigned int *ret, float dx, float dy, float dz, float dw) { ===-------------------------------------------------------------------------=== -extract_vector_elt of an arbitrary constant vector can be done with the -following instructions: +Complete the signed i32 to FP conversion code using 64-bit registers +transformation, good for PI. See PPCISelLowering.cpp, this comment: -vTemp = vec_splat(v0,2); // 2 is the element the src is in. -vec_ste(&destloc,0,vTemp); + // FIXME: disable this lowered code. This generates 64-bit register values, + // and we don't model the fact that the top part is clobbered by calls. We + // need to flag these together so that the value isn't live across a call. + //setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom); -We can do an arbitrary non-constant value by using lvsr/perm/ste. - -===-------------------------------------------------------------------------=== diff --git a/lib/Target/PowerPC/README_ALTIVEC.txt b/lib/Target/PowerPC/README_ALTIVEC.txt index 78ea2cd879e..33e3e2a2b04 100644 --- a/lib/Target/PowerPC/README_ALTIVEC.txt +++ b/lib/Target/PowerPC/README_ALTIVEC.txt @@ -138,3 +138,13 @@ C = vector_shuffle A, B, <0, 1, 2, 4> -> C = vsldoi A, B, 4 //===----------------------------------------------------------------------===// + +extract_vector_elt of an arbitrary constant vector can be done with the +following instructions: + +vTemp = vec_splat(v0,2); // 2 is the element the src is in. +vec_ste(&destloc,0,vTemp); + +We can do an arbitrary non-constant value by using lvsr/perm/ste. + +//===----------------------------------------------------------------------===//