1. move _mm_clflush_fs() to __SSE3__ block, because __builtin_ia32_sfence() is the...
authorKerry She <kerry.she@amd.com>
Sat, 7 May 2011 08:37:38 +0000 (08:37 +0000)
committerKerry She <Kerry.She@amd.com>
Sat, 7 May 2011 08:37:38 +0000 (08:37 +0000)
2. move the Amd Lib functions using sse build-in functions to __SSE3__ block

Signed-off-by: Kerry She <kerry.she@amd.com>
Acked-by: Marc Jones <marcj303@gmail.com>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6558 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/vendorcode/amd/agesa/Include/gcc-intrin.h
src/vendorcode/amd/agesa/Lib/amdlib.c

index bacd83c1d696bb1f50f868edc5a0209aa4ef924a..58438b9815fe014bd53fa7f697317717c1171d49 100644 (file)
@@ -572,7 +572,6 @@ static __inline__ __attribute__((always_inline)) void _mm_stream_si128_fs (void
   data = (__m128i) __builtin_ia32_lddqu ((char const *)__B);
   _mm_stream_si128_fs2 (__A, data);
 }
-#endif
 
 static __inline__ __attribute__((always_inline)) void _mm_clflush_fs (void *__A)
 {
@@ -589,6 +588,7 @@ static __inline __attribute__(( __always_inline__)) void _mm_sfence (void)
 {
   __builtin_ia32_sfence ();
 }
+#endif
 
 static __inline__ __attribute__((always_inline)) void __stosb(unsigned char *dest, unsigned char data, size_t count)
 {
index 1a30dd2f7a9a6965c3e8cc15e9a2eb6ad7a31095..192e34d1e52b6442acf6bc85b93044c665709551 100644 (file)
@@ -401,6 +401,8 @@ LibAmdSimNowEnterDebugger (
                                  };
   ((VOID (*)(VOID)) (size_t) opcode) (); // call the function
 }
+
+#ifdef __SSE3__
 VOID F10RevDProbeFilterCritical (
   IN       PCI_ADDR PciAddress,
   IN       UINT32   PciRegister
@@ -416,23 +418,7 @@ VOID F10RevDProbeFilterCritical (
   _mm_mfence ();
   __writemsr (0xC001001F, msrsave); 
 }
-VOID
-IdsOutPort (
-  IN       UINT32 Addr,
-  IN       UINT32 Value,
-  IN       UINT32 Flag
-  )
-{
-  __outdword ((UINT16) Addr, Value);
-}
-VOID 
-StopHere (
-  VOID
-  )
-{
-  VOLATILE UINTN x = 1;
-  while (x);
-}
+
 VOID
 LibAmdCLFlush (
   IN       UINT64 Address,
@@ -450,7 +436,25 @@ LibAmdCLFlush (
   }
   RestoreHwcr (hwcrSave);
 }
+#endif //__SSE3__
 
+VOID
+IdsOutPort (
+  IN       UINT32 Addr,
+  IN       UINT32 Value,
+  IN       UINT32 Flag
+  )
+{
+  __outdword ((UINT16) Addr, Value);
+}
+VOID 
+StopHere (
+  VOID
+  )
+{
+  VOLATILE UINTN x = 1;
+  while (x);
+}
 
 /*---------------------------------------------------------------------------------------*/
 /**