Index: gcc/config/rs6000/rs6000-c.c
===================================================================
--- gcc/config/rs6000/rs6000-c.c	(revision 215691)
+++ gcc/config/rs6000/rs6000-c.c	(working copy)
@@ -4326,6 +4326,14 @@ altivec_resolve_overloaded_builtin (location_t loc
   if (TARGET_DEBUG_BUILTIN)
     fprintf (stderr, "altivec_resolve_overloaded_builtin, code = %4d, %s\n",
 	     (int)fcode, IDENTIFIER_POINTER (DECL_NAME (fndecl)));
+ 
+  /* vec_lvsl and vec_lvsr are deprecated for use with LE element order.  */
+  if (fcode == ALTIVEC_BUILTIN_VEC_LVSL && !VECTOR_ELT_ORDER_BIG)
+    warning (OPT_Wdeprecated, "vec_lvsl is deprecated for little endian; use \
+assignment for unaligned loads and stores");
+  else if (fcode == ALTIVEC_BUILTIN_VEC_LVSR && !VECTOR_ELT_ORDER_BIG)
+    warning (OPT_Wdeprecated, "vec_lvsr is deprecated for little endian; use \
+assignment for unaligned loads and stores");
 
   /* For now treat vec_splats and vec_promote as the same.  */
   if (fcode == ALTIVEC_BUILTIN_VEC_SPLATS
Index: gcc/testsuite/g++.dg/ext/altivec-2.C
===================================================================
--- gcc/testsuite/g++.dg/ext/altivec-2.C	(revision 215691)
+++ gcc/testsuite/g++.dg/ext/altivec-2.C	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -Wall -Wno-unused-but-set-variable" } */
+/* { dg-options "-maltivec -Wall -Wno-unused-but-set-variable -Wno-deprecated" } */
 
 /* This test checks if AltiVec builtins accept const-qualified
    arguments.  */
Index: gcc/testsuite/gcc.dg/vmx/3c-01a.c
===================================================================
--- gcc/testsuite/gcc.dg/vmx/3c-01a.c	(revision 215691)
+++ gcc/testsuite/gcc.dg/vmx/3c-01a.c	(working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-options "-Wno-deprecated" } */
 #include <altivec.h>
 typedef const volatile unsigned int _1;
 typedef const  unsigned int _2;
Index: gcc/testsuite/gcc.dg/vmx/ops-long-1.c
===================================================================
--- gcc/testsuite/gcc.dg/vmx/ops-long-1.c	(revision 215691)
+++ gcc/testsuite/gcc.dg/vmx/ops-long-1.c	(working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-options "-Wno-deprecated" } */
 
 /* Checks from the original ops.c that pass pointers to long or
    unsigned long for operations that support that in released versions
Index: gcc/testsuite/gcc.dg/vmx/ops.c
===================================================================
--- gcc/testsuite/gcc.dg/vmx/ops.c	(revision 215691)
+++ gcc/testsuite/gcc.dg/vmx/ops.c	(working copy)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-options "-Wno-deprecated" } */
 #include <altivec.h>
 #include <stdlib.h>
 extern char * *var_char_ptr;
Index: gcc/testsuite/gcc.target/powerpc/altivec-20.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-20.c	(revision 215691)
+++ gcc/testsuite/gcc.target/powerpc/altivec-20.c	(working copy)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target powerpc_altivec_ok } } */
-/* { dg-options "-maltivec -mcpu=G5 -O2" } */
+/* { dg-options "-maltivec -mcpu=G5 -O2 -Wno-deprecated" } */
 
 #include <altivec.h>
 
Index: gcc/testsuite/gcc.target/powerpc/altivec-6.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-6.c	(revision 215691)
+++ gcc/testsuite/gcc.target/powerpc/altivec-6.c	(working copy)
@@ -1,6 +1,6 @@
 /* { dg-do compile { target powerpc*-*-* } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -O0 -Wall" } */
+/* { dg-options "-maltivec -O0 -Wall -Wno-deprecated" } */
 
 #include <altivec.h>
 
Index: gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c	(revision 215691)
+++ gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */
 /* { dg-do compile { target { powerpc*-*-* && { ! vmx_hw } } } } */
 /* { dg-require-effective-target powerpc_altivec_ok } */
-/* { dg-options "-maltivec -O2" } */
+/* { dg-options "-maltivec -O2 -Wno-deprecated" } */
 
 #include <altivec.h>
 
Index: gcc/testsuite/gcc.target/powerpc/vsx-builtin-8.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vsx-builtin-8.c	(revision 215691)
+++ gcc/testsuite/gcc.target/powerpc/vsx-builtin-8.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
 /* { dg-require-effective-target powerpc_vsx_ok } */
-/* { dg-options "-O3 -mcpu=power7" } */
+/* { dg-options "-O3 -mcpu=power7 -Wno-deprecated" } */
 
 /* Test the various load/store varients.  */
 
Index: gcc/testsuite/gcc.target/powerpc/warn-lvsl-lvsr.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/warn-lvsl-lvsr.c	(revision 0)
+++ gcc/testsuite/gcc.target/powerpc/warn-lvsl-lvsr.c	(working copy)
@@ -0,0 +1,14 @@
+/* Test for deprecation messages on use of lvsl and lvsr for little endian.  */
+
+/* { dg-do compile { target { powerpc64le-*-* } } } */
+/* { dg-options "-O0 -Wdeprecated" } */
+
+#include <altivec.h>
+
+float f[20];
+
+void foo ()
+{
+  vector unsigned char a = vec_lvsl (4, f); /* { dg-error "vec_lvsl is deprecated for little endian; use assignment for unaligned loads and stores" } */
+  vector unsigned char b = vec_lvsr (8, f); /* { dg-error "vec_lvsr is deprecated for little endian; use assignment for unaligned loads and stores" } */
+}
