mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

63 lines
2.2 KiB

diff -dur xc/programs/Xserver/fb/fbmmx.c src.xorg.1129808283.2035.3041395841/xc/programs/Xserver/fb/fbmmx.c
--- xc/programs/Xserver/fb/fbmmx.c 2004-07-22 21:24:50.000000000 +0200
+++ src.xorg.1129808283.2035.3041395841/xc/programs/Xserver/fb/fbmmx.c 2005-10-20 21:26:33.000000000 +0200
@@ -33,11 +33,28 @@
#include "mipict.h"
#include "fbpict.h"
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 5)
+
+typedef int __attribute__((mode(QI))) qi;
+typedef int __attribute__((mode(HI))) hi;
+typedef int __attribute__((mode(SI))) si;
+typedef int __attribute__((mode(DI))) di;
+
+typedef di __attribute__((vector_size (8))) Vector1x64;
+typedef si __attribute__((vector_size (8))) Vector2x32;
+typedef hi __attribute__((vector_size (8))) Vector4x16;
+typedef qi __attribute__((vector_size (8))) Vector8x8;
+
+# else
+
typedef int Vector1x64 __attribute__ ((mode(DI)));
typedef int Vector2x32 __attribute__ ((mode(V2SI)));
typedef int Vector4x16 __attribute__ ((mode(V4HI)));
typedef int Vector8x8 __attribute__ ((mode(V8QI)));
+#endif
+
+
typedef unsigned long long ullong;
#define noVERBOSE
@@ -92,9 +109,21 @@
shift (Vector1x64 v, int s)
{
if (s > 0)
+
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 5)
+
+ return (Vector2x32) __builtin_ia32_psllq ((long long) v, (long long) s);
+ else if (s < 0)
+ return (Vector2x32) __builtin_ia32_psrlq ((long long) v, (long long) -s);
+
+#else
+
return __builtin_ia32_psllq (v, s);
else if (s < 0)
return __builtin_ia32_psrlq (v, -s);
+
+#endif
+
else
return v;
}
diff -dur xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h src.xorg.1129808283.2035.3041395841/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h
--- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h 2004-08-12 04:23:46.000000000 +0200
+++ src.xorg.1129808283.2035.3041395841/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_chipset.h 2005-10-20 19:58:39.000000000 +0200
@@ -1,4 +1,4 @@
-static SymTabRec RADEONChipsets[] = {
+SymTabRec RADEONChipsets[] = {
{ PCI_CHIP_RADEON_QD, "ATI Radeon QD (AGP)" },
{ PCI_CHIP_RADEON_QE, "ATI Radeon QE (AGP)" },
{ PCI_CHIP_RADEON_QF, "ATI Radeon QF (AGP)" },