Skip to content

Commit bfaaa97

Browse files
committed
Added BULLDOZER target. So far it uses barcelona kernels.
1 parent b7c0fa6 commit bfaaa97

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+156
-132
lines changed

Diff for: TargetList.txt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ BARCELONA
2929
SHANGHAI
3030
ISTANBUL
3131
BOBCAT
32+
BULLDOZER
3233

3334
c)VIA CPU:
3435
SSE_GENERIC

Diff for: driver/others/parameter.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ int get_L2_size(void){
163163

164164
int eax, ebx, ecx, edx;
165165

166-
#if defined(ATHLON) || defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || \
166+
#if defined(ATHLON) || defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER) || \
167167
defined(CORE_PRESCOTT) || defined(CORE_CORE2) || defined(PENRYN) || defined(DUNNINGTON) || \
168168
defined(CORE_NEHALEM) || defined(CORE_SANDYBRIDGE) || defined(ATOM) || defined(GENERIC)
169169

Diff for: getarch.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -385,12 +385,12 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
385385
#define FORCE_INTEL
386386
#define ARCHITECTURE "X86"
387387
#define SUBARCHITECTURE "BULLDOZER"
388-
#define ARCHCONFIG "-DBARCELONA " \
388+
#define ARCHCONFIG "-DBULLDOZER " \
389389
"-DL1_DATA_SIZE=49152 -DL1_DATA_LINESIZE=64 " \
390390
"-DL2_SIZE=1024000 -DL2_LINESIZE=64 -DL3_SIZE=16777216 " \
391391
"-DDTB_DEFAULT_ENTRIES=32 -DDTB_SIZE=4096 " \
392392
"-DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 " \
393-
"-DHAVE_SSE4A -DHAVE_MISALIGNSSE -DHAVE_128BITFPU -DHAVE_FASTMOVU" \
393+
"-DHAVE_SSE4A -DHAVE_MISALIGNSSE -DHAVE_128BITFPU -DHAVE_FASTMOVU " \
394394
"-DHAVE_AVX -DHAVE_FMA4"
395395
#define LIBNAME "bulldozer"
396396
#define CORENAME "BULLDOZER"

Diff for: kernel/setparam-ref.c

+16
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,22 @@ static void init_parameter(void) {
810810
#endif
811811
#endif
812812

813+
#ifdef BULLDOZER
814+
815+
#ifdef DEBUG
816+
fprintf(stderr, "Bulldozer\n");
817+
#endif
818+
819+
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
820+
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
821+
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
822+
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
823+
#ifdef EXPRECISION
824+
TABLE_NAME.qgemm_p = QGEMM_DEFAULT_P;
825+
TABLE_NAME.xgemm_p = XGEMM_DEFAULT_P;
826+
#endif
827+
#endif
828+
813829
#ifdef NANO
814830

815831
#ifdef DEBUG

Diff for: kernel/x86/gemm_kernel_4x4_barcelona.S

+10-10
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@
596596
.L22:
597597
mulps %xmm0, %xmm2
598598
addps %xmm2, %xmm4
599-
#if defined(OPTERON) || defined(BARCELONA)
599+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
600600
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
601601
#endif
602602
movsd 4 * SIZE(BB), %xmm2
@@ -842,7 +842,7 @@
842842
.L32:
843843
mulss %xmm0, %xmm2
844844
addss %xmm2, %xmm4
845-
#if defined(OPTERON) || defined(BARCELONA)
845+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
846846
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
847847
#endif
848848
movss 4 * SIZE(BB), %xmm2
@@ -1168,7 +1168,7 @@
11681168

11691169
.L52:
11701170
mulps %xmm0, %xmm2
1171-
#if defined(OPTERON) || defined(BARCELONA)
1171+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
11721172
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
11731173
#endif
11741174
mulps 4 * SIZE(BB), %xmm0
@@ -1198,7 +1198,7 @@
11981198
addps %xmm0, %xmm5
11991199
movaps 32 * SIZE(AA), %xmm0
12001200

1201-
#if defined(OPTERON) || defined(BARCELONA)
1201+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
12021202
prefetcht0 (PREFETCHSIZE + 16) * SIZE(AA)
12031203
#endif
12041204
mulps %xmm1, %xmm2
@@ -1347,7 +1347,7 @@
13471347
ALIGN_4
13481348

13491349
.L62:
1350-
#if defined(OPTERON) || defined(BARCELONA)
1350+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
13511351
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
13521352
#endif
13531353

@@ -1531,7 +1531,7 @@
15311531

15321532
.L72:
15331533
mulss %xmm0, %xmm2
1534-
#if defined(OPTERON) || defined(BARCELONA)
1534+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
15351535
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
15361536
#endif
15371537
mulss 4 * SIZE(BB), %xmm0
@@ -1778,7 +1778,7 @@
17781778

17791779
.L92:
17801780
mulps %xmm0, %xmm2
1781-
#if defined(OPTERON) || defined(BARCELONA)
1781+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
17821782
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
17831783
#endif
17841784
movaps 4 * SIZE(AA), %xmm0
@@ -1793,7 +1793,7 @@
17931793
mulps 12 * SIZE(BB), %xmm0
17941794
addps %xmm0, %xmm7
17951795
movaps 32 * SIZE(AA), %xmm0
1796-
#if defined(OPTERON) || defined(BARCELONA)
1796+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
17971797
prefetcht0 (PREFETCHSIZE + 16) * SIZE(AA)
17981798
#endif
17991799
mulps %xmm1, %xmm3
@@ -1924,7 +1924,7 @@
19241924

19251925
.L102:
19261926
mulps %xmm0, %xmm2
1927-
#if defined(OPTERON) || defined(BARCELONA)
1927+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
19281928
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
19291929
#endif
19301930
movsd 2 * SIZE(AA), %xmm0
@@ -2069,7 +2069,7 @@
20692069

20702070
.L112:
20712071
mulss %xmm0, %xmm2
2072-
#if defined(OPTERON) || defined(BARCELONA)
2072+
#if defined(OPTERON) || defined(BARCELONA) || defined(BULLDOZER)
20732073
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
20742074
#endif
20752075
movss 1 * SIZE(AA), %xmm0

Diff for: kernel/x86/scal_sse.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@
269269
sarl $5, I
270270
jle .L113
271271

272-
#if defined(BARCELONA)
272+
#if defined(BARCELONA) || defined(BULLDOZER)
273273

274274
movaps %xmm0, %xmm1
275275
mulps -32 * SIZE(X), %xmm1

Diff for: kernel/x86/scal_sse2.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@
253253
sarl $4, I
254254
jle .L113
255255

256-
#if defined(BARCELONA)
256+
#if defined(BARCELONA) || defined(BULLDOZER)
257257

258258
movaps %xmm0, %xmm1
259259
mulpd -16 * SIZE(X), %xmm1

Diff for: kernel/x86/trsm_kernel_LN_2x4_sse2.S

+5-5
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
#define STACK_ALIGN 4096
7070
#define STACK_OFFSET 1024
7171

72-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
72+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
7373
#define PREFETCH prefetch
7474
#define PREFETCHSIZE (8 * 10 + 4)
7575
#endif
@@ -439,7 +439,7 @@
439439
.L22:
440440
mulsd %xmm0, %xmm2
441441
addsd %xmm2, %xmm4
442-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
442+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
443443
PREFETCH (PREFETCHSIZE + 0) * SIZE(AA)
444444
#endif
445445
movlpd 2 * SIZE(BB), %xmm2
@@ -488,7 +488,7 @@
488488
movlpd 40 * SIZE(BB), %xmm3
489489
addsd %xmm0, %xmm7
490490
movlpd 8 * SIZE(AA), %xmm0
491-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
491+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
492492
PREFETCH (PREFETCHSIZE + 8) * SIZE(AA)
493493
#endif
494494
mulsd %xmm1, %xmm2
@@ -1697,7 +1697,7 @@
16971697

16981698
.L42:
16991699
mulpd %xmm0, %xmm2
1700-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
1700+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
17011701
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
17021702
#endif
17031703
mulpd 2 * SIZE(BB), %xmm0
@@ -1727,7 +1727,7 @@
17271727
addpd %xmm0, %xmm7
17281728
movapd 16 * SIZE(AA), %xmm0
17291729

1730-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
1730+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
17311731
prefetcht0 (PREFETCHSIZE + 8) * SIZE(AA)
17321732
#endif
17331733
mulpd %xmm1, %xmm2

Diff for: kernel/x86/trsm_kernel_LN_4x4_sse.S

+11-11
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
#define BORIG 60(%esp)
6565
#define BUFFER 128(%esp)
6666

67-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
67+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
6868
#define PREFETCH prefetch
6969
#define PREFETCHW prefetchw
7070
#define PREFETCHSIZE (16 * 10 + 8)
@@ -437,7 +437,7 @@
437437
.L32:
438438
mulss %xmm0, %xmm2
439439
addss %xmm2, %xmm4
440-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
440+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
441441
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
442442
#endif
443443
movss 4 * SIZE(BB), %xmm2
@@ -833,7 +833,7 @@
833833
.L22:
834834
mulps %xmm0, %xmm2
835835
addps %xmm2, %xmm4
836-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
836+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
837837
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
838838
#endif
839839
movaps 4 * SIZE(BB), %xmm2
@@ -1848,7 +1848,7 @@
18481848

18491849
.L72:
18501850
mulss %xmm0, %xmm2
1851-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
1851+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
18521852
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
18531853
#endif
18541854
mulss 4 * SIZE(BB), %xmm0
@@ -2109,7 +2109,7 @@
21092109
ALIGN_4
21102110

21112111
.L62:
2112-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
2112+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
21132113
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
21142114
#endif
21152115

@@ -2429,7 +2429,7 @@
24292429

24302430
.L52:
24312431
mulps %xmm0, %xmm2
2432-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
2432+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
24332433
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
24342434
#endif
24352435
mulps 4 * SIZE(BB), %xmm0
@@ -2459,7 +2459,7 @@
24592459
addps %xmm0, %xmm5
24602460
movaps 32 * SIZE(AA), %xmm0
24612461

2462-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
2462+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
24632463
prefetcht0 (PREFETCHSIZE + 16) * SIZE(AA)
24642464
#endif
24652465
mulps %xmm1, %xmm2
@@ -2952,7 +2952,7 @@
29522952

29532953
.L112:
29542954
mulss %xmm0, %xmm2
2955-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
2955+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
29562956
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
29572957
#endif
29582958
movss 1 * SIZE(AA), %xmm0
@@ -3148,7 +3148,7 @@
31483148

31493149
.L102:
31503150
mulps %xmm0, %xmm2
3151-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
3151+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
31523152
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
31533153
#endif
31543154
movsd 2 * SIZE(AA), %xmm0
@@ -3389,7 +3389,7 @@
33893389

33903390
.L92:
33913391
mulps %xmm0, %xmm2
3392-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
3392+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
33933393
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
33943394
#endif
33953395
movaps 4 * SIZE(AA), %xmm0
@@ -3404,7 +3404,7 @@
34043404
mulps 12 * SIZE(BB), %xmm0
34053405
addps %xmm0, %xmm7
34063406
movaps 32 * SIZE(AA), %xmm0
3407-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
3407+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
34083408
prefetcht0 (PREFETCHSIZE + 16) * SIZE(AA)
34093409
#endif
34103410
mulps %xmm1, %xmm3

Diff for: kernel/x86/trsm_kernel_LT_2x4_sse2.S

+5-5
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
#define STACK_ALIGN 4096
7070
#define STACK_OFFSET 1024
7171

72-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
72+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
7373
#define PREFETCH prefetch
7474
#define PREFETCHSIZE (8 * 10 + 4)
7575
#endif
@@ -910,7 +910,7 @@
910910
.L22:
911911
mulsd %xmm0, %xmm2
912912
addsd %xmm2, %xmm4
913-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
913+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
914914
PREFETCH (PREFETCHSIZE + 0) * SIZE(AA)
915915
#endif
916916
movlpd 2 * SIZE(BB), %xmm2
@@ -959,7 +959,7 @@
959959
movlpd 40 * SIZE(BB), %xmm3
960960
addsd %xmm0, %xmm7
961961
movlpd 8 * SIZE(AA), %xmm0
962-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
962+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
963963
PREFETCH (PREFETCHSIZE + 8) * SIZE(AA)
964964
#endif
965965
mulsd %xmm1, %xmm2
@@ -1439,7 +1439,7 @@
14391439

14401440
.L42:
14411441
mulpd %xmm0, %xmm2
1442-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
1442+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
14431443
prefetcht0 (PREFETCHSIZE + 0) * SIZE(AA)
14441444
#endif
14451445
mulpd 2 * SIZE(BB), %xmm0
@@ -1469,7 +1469,7 @@
14691469
addpd %xmm0, %xmm7
14701470
movapd 16 * SIZE(AA), %xmm0
14711471

1472-
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT)
1472+
#if defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER)
14731473
prefetcht0 (PREFETCHSIZE + 8) * SIZE(AA)
14741474
#endif
14751475
mulpd %xmm1, %xmm2

0 commit comments

Comments
 (0)