Revision 0e326109 target-arm/translate.c
b/target-arm/translate.c | ||
---|---|---|
5677 | 5677 |
gen_neon_rsb(size, tmp, tmp2); |
5678 | 5678 |
tcg_temp_free(tmp2); |
5679 | 5679 |
break; |
5680 |
case 24: case 27: /* Float VCGT #0, Float VCLE #0 */
|
|
5680 |
case 24: /* Float VCGT #0 */
|
|
5681 | 5681 |
tmp2 = tcg_const_i32(0); |
5682 | 5682 |
gen_helper_neon_cgt_f32(tmp, tmp, tmp2); |
5683 | 5683 |
tcg_temp_free(tmp2); |
5684 |
if (op == 27) |
|
5685 |
tcg_gen_not_i32(tmp, tmp); |
|
5686 | 5684 |
break; |
5687 |
case 25: case 28: /* Float VCGE #0, Float VCLT #0 */
|
|
5685 |
case 25: /* Float VCGE #0 */
|
|
5688 | 5686 |
tmp2 = tcg_const_i32(0); |
5689 | 5687 |
gen_helper_neon_cge_f32(tmp, tmp, tmp2); |
5690 | 5688 |
tcg_temp_free(tmp2); |
5691 |
if (op == 28) |
|
5692 |
tcg_gen_not_i32(tmp, tmp); |
|
5693 | 5689 |
break; |
5694 | 5690 |
case 26: /* Float VCEQ #0 */ |
5695 | 5691 |
tmp2 = tcg_const_i32(0); |
5696 | 5692 |
gen_helper_neon_ceq_f32(tmp, tmp, tmp2); |
5697 | 5693 |
tcg_temp_free(tmp2); |
5698 | 5694 |
break; |
5695 |
case 27: /* Float VCLE #0 */ |
|
5696 |
tmp2 = tcg_const_i32(0); |
|
5697 |
gen_helper_neon_cge_f32(tmp, tmp2, tmp); |
|
5698 |
tcg_temp_free(tmp2); |
|
5699 |
break; |
|
5700 |
case 28: /* Float VCLT #0 */ |
|
5701 |
tmp2 = tcg_const_i32(0); |
|
5702 |
gen_helper_neon_cgt_f32(tmp, tmp2, tmp); |
|
5703 |
tcg_temp_free(tmp2); |
|
5704 |
break; |
|
5699 | 5705 |
case 30: /* Float VABS */ |
5700 | 5706 |
gen_vfp_abs(0); |
5701 | 5707 |
break; |
Also available in: Unified diff