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.

65 lines
2.0 KiB

  1. diff -dur xc/programs/Xserver/fb/fbmmx.c src.xorg.1129808283.2035.3041395841/xc/programs/Xserver/fb/fbmmx.c
  2. --- xc/programs/Xserver/fb/fbmmx.c 2004-07-22 21:24:50.000000000 +0200
  3. +++ src.xorg.1129808283.2035.3041395841/xc/programs/Xserver/fb/fbmmx.c 2005-10-20 21:26:33.000000000 +0200
  4. @@ -33,11 +33,28 @@
  5. #include "mipict.h"
  6. #include "fbpict.h"
  7. +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 5)
  8. +
  9. +typedef int __attribute__((mode(QI))) qi;
  10. +typedef int __attribute__((mode(HI))) hi;
  11. +typedef int __attribute__((mode(SI))) si;
  12. +typedef int __attribute__((mode(DI))) di;
  13. +
  14. +typedef di __attribute__((vector_size (8))) Vector1x64;
  15. +typedef si __attribute__((vector_size (8))) Vector2x32;
  16. +typedef hi __attribute__((vector_size (8))) Vector4x16;
  17. +typedef qi __attribute__((vector_size (8))) Vector8x8;
  18. +
  19. +# else
  20. +
  21. typedef int Vector1x64 __attribute__ ((mode(DI)));
  22. typedef int Vector2x32 __attribute__ ((mode(V2SI)));
  23. typedef int Vector4x16 __attribute__ ((mode(V4HI)));
  24. typedef int Vector8x8 __attribute__ ((mode(V8QI)));
  25. +#endif
  26. +
  27. +
  28. typedef unsigned long long ullong;
  29. #define noVERBOSE
  30. @@ -92,9 +109,21 @@
  31. shift (Vector1x64 v, int s)
  32. {
  33. if (s > 0)
  34. +
  35. +#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 5)
  36. +
  37. + return (Vector2x32) __builtin_ia32_psllq ((long long) v, (long long) s);
  38. + else if (s < 0)
  39. + return (Vector2x32) __builtin_ia32_psrlq ((long long) v, (long long) -s);
  40. +
  41. +#else
  42. +
  43. return __builtin_ia32_psllq (v, s);
  44. else if (s < 0)
  45. return __builtin_ia32_psrlq (v, -s);
  46. +
  47. +#endif
  48. +
  49. else
  50. return v;
  51. }
  52. --- xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h~ 2004-08-03 11:38:03.000000000 +0200
  53. +++ xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h 2005-11-17 12:22:21.000000000 +0100
  54. @@ -146,7 +146,7 @@
  55. extern Bool RADEONProbe
  56. FunctionPrototype((DriverPtr, int));
  57. -extern SymTabRec RADEONChipsets[];
  58. +static SymTabRec RADEONChipsets[];
  59. extern PciChipsets RADEONPciChipsets[];
  60. /* radeon_driver.c */