shithub: riscv

Download patch

ref: 12853d3ba896f5d1190be7ab5f6928aeb4af8be2
parent: 38d18342a910a83d04af68a9f51903f15eddf6e8
parent: 166da952f400b7368d371cc23a90a9bc8343ee98
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Thu Jun 13 16:08:17 EDT 2013

merge

--- a/sys/src/9/kw/fpiarm.c
+++ b/sys/src/9/kw/fpiarm.c
@@ -749,8 +749,10 @@
 		for(i = 0; specialopc[i].f; i++)
 			if((op & specialopc[i].mask) == specialopc[i].opc)
 				break;
-		if(specialopc[i].f)
-			specialopc[i].f(ur->pc, op, ur);
+		if(specialopc[i].f){
+			if(condok(ur->psr, op>>28))
+				specialopc[i].f(ur->pc, op, ur);
+		}
 		else if(ISVFPOP(cp, o)){
 			if(condok(ur->psr, op>>28))
 				vfpemu(ur->pc, op, ur, ufp);
--- a/sys/src/9/omap/fpiarm.c
+++ b/sys/src/9/omap/fpiarm.c
@@ -749,8 +749,10 @@
 		for(i = 0; specialopc[i].f; i++)
 			if((op & specialopc[i].mask) == specialopc[i].opc)
 				break;
-		if(specialopc[i].f)
-			specialopc[i].f(ur->pc, op, ur);
+		if(specialopc[i].f){
+			if(condok(ur->psr, op>>28))
+				specialopc[i].f(ur->pc, op, ur);
+		}
 		else if(ISVFPOP(cp, o)){
 			if(condok(ur->psr, op>>28))
 				vfpemu(ur->pc, op, ur, ufp);
--