Mercurial > projects > dstress
annotate run/a/asm_fdiv_01_D2.d @ 1606:ebff718ff18b
Fix tests from #3. Thanks Don!
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Mon, 13 Apr 2009 13:47:03 +0200 |
parents | run/a/asm_fdiv_01_D.d@1c8652b3795a |
children |
rev | line source |
---|---|
856 | 1 // $HeadURL$ |
2 // $Date$ | |
3 // $Author$ | |
715 | 4 |
1606
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
5 module dstress.run.a.asm_fdiv_01_D2; |
715 | 6 |
989 | 7 version(D_InlineAsm_X86){ |
8 version = runTest; | |
9 }else version(D_InlineAsm_X86_64){ | |
10 version = runTest; | |
11 } | |
715 | 12 |
989 | 13 version(runTest){ |
14 import addon.cpuinfo; | |
15 | |
16 int main(){ | |
17 haveFPU!()(); | |
1044 | 18 |
1329 | 19 float a = -3.0f; |
20 float b = 12.0f; | |
989 | 21 float c; |
1044 | 22 |
715 | 23 asm{ |
24 fld a; | |
25 fld b; | |
1606
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
26 fdiv ST,ST(1); |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
27 fstp c; |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
28 } |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
29 |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
30 if(c != -4.0f){ |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
31 assert(0); |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
32 } |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
33 |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
34 asm{ |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
35 fld a; |
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
36 fld b; |
715 | 37 fdiv ST(1),ST; |
38 fstp c; | |
39 fstp c; | |
40 } | |
1044 | 41 |
1606
ebff718ff18b
Fix tests from #3. Thanks Don!
Christian Kamm <kamm incasoftware de>
parents:
1329
diff
changeset
|
42 if(c != a/b){ |
989 | 43 assert(0); |
44 } | |
1044 | 45 |
715 | 46 return 0; |
47 } | |
989 | 48 }else{ |
49 pragma(msg, "DSTRESS{XFAIL}: no inline ASM support"); | |
50 static assert(0); | |
51 } |