mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			i386.c (ix86_md_asm_adjust): Handle DImode dest_mode for !TARGET_64BIT.
* config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode for !TARGET_64BIT. testsuite/ChangeLog: * gcc.target/i386/asm-flag-5.c (f_ll): New. From-SVN: r226017
This commit is contained in:
		
							parent
							
								
									236d2dc4b8
								
							
						
					
					
						commit
						73c581fbd1
					
				|  | @ -1,3 +1,8 @@ | |||
| 2015-07-20  Uros Bizjak  <ubizjak@gmail.com> | ||||
| 
 | ||||
| 	* config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode | ||||
| 	for !TARGET_64BIT. | ||||
| 
 | ||||
| 2015-07-20  Aditya Kumar  <hiraditya@msn.com> | ||||
| 
 | ||||
| 	* graphite-isl-ast-to-gimple.c: | ||||
|  |  | |||
|  | @ -45861,6 +45861,10 @@ ix86_md_asm_adjust (vec<rtx> &outputs, vec<rtx> &/*inputs*/, | |||
| 	  error ("invalid type for asm flag output"); | ||||
| 	  continue; | ||||
| 	} | ||||
| 
 | ||||
|       if (dest_mode == DImode && !TARGET_64BIT) | ||||
| 	dest_mode = SImode; | ||||
| 
 | ||||
|       if (dest_mode != QImode) | ||||
| 	{ | ||||
| 	  rtx destqi = gen_reg_rtx (QImode); | ||||
|  | @ -45877,6 +45881,15 @@ ix86_md_asm_adjust (vec<rtx> &outputs, vec<rtx> &/*inputs*/, | |||
| 	  else | ||||
| 	    x = gen_rtx_ZERO_EXTEND (dest_mode, destqi); | ||||
| 	} | ||||
| 
 | ||||
|       if (dest_mode != GET_MODE (dest)) | ||||
| 	{ | ||||
| 	  rtx tmp = gen_reg_rtx (SImode); | ||||
| 
 | ||||
| 	  emit_insn (gen_rtx_SET (tmp, x)); | ||||
| 	  emit_insn (gen_zero_extendsidi2 (dest, tmp)); | ||||
| 	} | ||||
|       else | ||||
| 	emit_insn (gen_rtx_SET (dest, x)); | ||||
|     } | ||||
|   rtx_insn *seq = get_insns (); | ||||
|  |  | |||
|  | @ -1,3 +1,7 @@ | |||
| 2015-07-20  Uros Bizjak  <ubizjak@gmail.com> | ||||
| 
 | ||||
| 	* gcc.target/i386/asm-flag-5.c (f_ll): New. | ||||
| 
 | ||||
| 2015-07-20  Jiong Wang  <jiong.wang@arm.com> | ||||
| 
 | ||||
| 	* gcc.target/aarch64/got_mem_hoist.c (dg-skip-if): Skip tiny and large | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ void f_c(void) { char x; asm("" : "=@ccc"(x)); } | |||
| void f_s(void) { short x; asm("" : "=@ccc"(x)); } | ||||
| void f_i(void) { int x; asm("" : "=@ccc"(x)); } | ||||
| void f_l(void) { long x; asm("" : "=@ccc"(x)); } | ||||
| void f_ll(void) { long long x; asm("" : "=@ccc"(x)); } | ||||
| 
 | ||||
| void f_f(void) | ||||
| { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Uros Bizjak
						Uros Bizjak