You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

l1param.h 1.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #if defined(CORE2) || defined(PENRYN)
  2. #define ALIGNED_ACCESS
  3. #endif
  4. #ifdef NEHALEM
  5. #define PREFETCH prefetcht0
  6. #define PREFETCHW prefetcht0
  7. #define PREFETCHSIZE (128 * 12)
  8. #define ALIGNED_ACCESS
  9. #endif
  10. #ifdef ATHLON
  11. #define PREFETCH prefetch
  12. #define PREFETCHW prefetchw
  13. #define PREFETCHSIZE (128 * 10)
  14. #define ALIGNED_ACCESS
  15. #define movsd movlps
  16. #endif
  17. #ifdef PENTIUM3
  18. #define PREFETCH prefetcht0
  19. #define PREFETCHSIZE (128 * 10)
  20. #define ALIGNED_ACCESS
  21. #define movsd movlps
  22. #endif
  23. #ifdef PENTIUM4
  24. #define PREFETCH prefetcht0
  25. #define PREFETCHSIZE (128 * 10)
  26. #define FETCH128
  27. #define ALIGNED_ACCESS
  28. #define xorps pxor
  29. #define xorpd pxor
  30. #endif
  31. #ifdef ATOM
  32. #define ALIGNED_ACCESS
  33. #define PREFETCH prefetcht0
  34. #define PREFETCHSIZE ( 64 * 12 + 32)
  35. #endif
  36. #ifdef OPTERON
  37. #define PREFETCH prefetch
  38. #define PREFETCHW prefetchw
  39. #define PREFETCHSIZE (128 * 3)
  40. #define movsd movlps
  41. #endif
  42. #ifdef BARCELONA
  43. #define PREFETCH prefetch
  44. #define PREFETCHW prefetchw
  45. #define PREFETCHSIZE (128 * 5)
  46. #define ALIGNED_ACCESS
  47. #endif
  48. #ifdef SHANGHAI
  49. #define PREFETCH prefetch
  50. #define PREFETCHW prefetchw
  51. #define PREFETCHSIZE (128 * 5)
  52. #define ALIGNED_ACCESS
  53. #endif
  54. #ifdef NANO
  55. #define PREFETCH prefetcht0
  56. #define PREFETCHW prefetcht0
  57. #define PREFETCHSIZE (128 * 4)
  58. #define ALIGNED_ACCESS
  59. #endif
  60. #define PREOFFSET 128
  61. #ifdef HAVE_SSE2
  62. #define PSHUFD1(A, B) pshufd A, B, B
  63. #define PSHUFD2(A, B, C) pshufd A, B, C
  64. #else
  65. #define PSHUFD1(A, B) shufps A, B, B
  66. #define PSHUFD2(A, B, C) movaps B, C; shufps A, C, C
  67. #endif
  68. #define MOVDDUP1(OFFSET, BASE, REGS) movddup OFFSET(BASE), REGS
  69. #define MOVAPS(OFFSET, BASE, REGS) movlps REGS, OFFSET(BASE); movhps REGS, OFFSET + SIZE(BASE)

OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.