changeset 1337:0839eb936902

[Issue 697] No const folding on asm db,dw, etc Don Clugston <clugdbug@yahoo.com.au> 2006-12-18 http://d.puremagic.com/issues/show_bug.cgi?id=697
author thomask
date Tue, 23 Jan 2007 12:03:51 +0000
parents 986983b8cf7a
children 54d2cf6154ba
files run/a/asm_db_01_A.d run/a/asm_db_01_B.d run/a/asm_db_01_C.d run/a/asm_di_02_A.d run/a/asm_di_02_B.d run/a/asm_di_02_C.d run/a/asm_dl_02_A.d run/a/asm_dl_02_B.d run/a/asm_dl_02_C.d run/a/asm_ds_01_A.d run/a/asm_ds_01_B.d run/a/asm_ds_01_C.d
diffstat 12 files changed, 423 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_db_01_A.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,36 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_db_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+		const byte x = 0x40;
+
+		asm{
+			mov EAX, i;
+			db x;
+			mov i, EAX;
+		}
+
+		assert(i == 4);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_db_01_B.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_db_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			db 0x40;
+			mov i, EAX;
+		}
+
+		assert(i == 4);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_db_01_C.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_db_01_C;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			db 0x30 + 0x10;
+			mov i, EAX;
+		}
+
+		assert(i == 4);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_di_02_A.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,36 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_di_02_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+		short x = 0x40404040;
+
+		asm{
+			mov EAX, i;
+			di x;
+			mov i, EAX;
+		}
+
+		assert(i == 7);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_di_02_B.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_di_02_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			di 0x40404040;
+			mov i, EAX;
+		}
+
+		assert(i == 7);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_di_02_C.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_di_02_C;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			di 0x4040_1010 + 0x0000_3030;
+			mov i, EAX;
+		}
+
+		assert(i == 7);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_dl_02_A.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_dl_02_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+		long x = 0x4040_4040_4040_4040;
+		asm{
+			mov EAX, i;
+			dl x;
+			mov i, EAX;
+		}
+
+		assert(i == 11);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_dl_02_B.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_dl_02_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			dl 0x4040_4040_4040_4040;
+			mov i, EAX;
+		}
+
+		assert(i == 11);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_dl_02_C.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_dl_02_C;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			dl 0x4040_3030_2020_1010 + 0x0000_1010_2020_3030;
+			mov i, EAX;
+		}
+
+		assert(i == 7);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_ds_01_A.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,36 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_ds_01_A;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+		short x = 0x4040;
+
+		asm{
+			mov EAX, i;
+			ds x;
+			mov i, EAX;
+		}
+
+		assert(i == 5);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_ds_01_B.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_ds_01_B;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			ds 0x4040;
+			mov i, EAX;
+		}
+
+		assert(i == 5);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/a/asm_ds_01_C.d	Tue Jan 23 12:03:51 2007 +0000
@@ -0,0 +1,35 @@
+// $HeadURL$
+// $Date$
+// $Author$
+
+// @author@	Don Clugston <clugdbug@yahoo.com.au>
+// @date@	2006-12-18
+// @uri@	http://d.puremagic.com/issues/show_bug.cgi?id=697
+// @desc@	[Issue 697] No const folding on asm db,dw, etc
+
+module dstress.run.a.asm_ds_01_C;
+
+version(D_InlineAsm_X86){
+	version = runTest;
+}else version(D_InlineAsm_X86_64){
+	version = runTest;
+}
+
+version(runTest){
+	int main(){
+		int i = 3;
+
+		asm{
+			mov EAX, i;
+			ds 0x0040 + 0x4000;
+			mov i, EAX;
+		}
+
+		assert(i == 5);
+
+		return 0;
+	}
+}else{
+	pragma(msg, "DSTRESS{XFAIL}: no inline ASM support");
+	static assert(0);
+}