neon.isa (9517:5ffb5e5c93b4) | neon.isa (9557:8666e81607a6) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 2806 unchanged lines hidden (view full) --- 2815 FpscrExc = fpscr; 2816 ''' 2817 twoRegShiftInst("vcvt", "NVcvts2fpD", "SimdCvtOp", ("float",), 2818 2, vcvts2fpCode, fromInt = True) 2819 twoRegShiftInst("vcvt", "NVcvts2fpQ", "SimdCvtOp", ("float",), 2820 4, vcvts2fpCode, fromInt = True) 2821 2822 vcvts2hCode = ''' | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 2806 unchanged lines hidden (view full) --- 2815 FpscrExc = fpscr; 2816 ''' 2817 twoRegShiftInst("vcvt", "NVcvts2fpD", "SimdCvtOp", ("float",), 2818 2, vcvts2fpCode, fromInt = True) 2819 twoRegShiftInst("vcvt", "NVcvts2fpQ", "SimdCvtOp", ("float",), 2820 4, vcvts2fpCode, fromInt = True) 2821 2822 vcvts2hCode = ''' |
2823 destElem = 0; |
|
2823 FPSCR fpscr = (FPSCR) FpscrExc; 2824 float srcFp1 = bitsToFp(srcElem1, (float)0.0); 2825 if (flushToZero(srcFp1)) 2826 fpscr.idc = 1; 2827 VfpSavedState state = prepFpState(VfpRoundNearest); 2828 __asm__ __volatile__("" : "=m" (srcFp1), "=m" (destElem) 2829 : "m" (srcFp1), "m" (destElem)); 2830 destElem = vcvtFpSFpH(fpscr, true, true, VfpRoundNearest, 2831 fpscr.ahp, srcFp1); 2832 __asm__ __volatile__("" :: "m" (destElem)); 2833 finishVfp(fpscr, state, true); 2834 FpscrExc = fpscr; 2835 ''' 2836 twoRegNarrowMiscInst("vcvt", "NVcvts2h", "SimdCvtOp", ("uint16_t",), vcvts2hCode) 2837 2838 vcvth2sCode = ''' | 2824 FPSCR fpscr = (FPSCR) FpscrExc; 2825 float srcFp1 = bitsToFp(srcElem1, (float)0.0); 2826 if (flushToZero(srcFp1)) 2827 fpscr.idc = 1; 2828 VfpSavedState state = prepFpState(VfpRoundNearest); 2829 __asm__ __volatile__("" : "=m" (srcFp1), "=m" (destElem) 2830 : "m" (srcFp1), "m" (destElem)); 2831 destElem = vcvtFpSFpH(fpscr, true, true, VfpRoundNearest, 2832 fpscr.ahp, srcFp1); 2833 __asm__ __volatile__("" :: "m" (destElem)); 2834 finishVfp(fpscr, state, true); 2835 FpscrExc = fpscr; 2836 ''' 2837 twoRegNarrowMiscInst("vcvt", "NVcvts2h", "SimdCvtOp", ("uint16_t",), vcvts2hCode) 2838 2839 vcvth2sCode = ''' |
2840 destElem = 0; |
|
2839 FPSCR fpscr = (FPSCR) FpscrExc; 2840 VfpSavedState state = prepFpState(VfpRoundNearest); 2841 __asm__ __volatile__("" : "=m" (srcElem1), "=m" (destElem) 2842 : "m" (srcElem1), "m" (destElem)); 2843 destElem = fpToBits(vcvtFpHFpS(fpscr, true, fpscr.ahp, srcElem1)); 2844 __asm__ __volatile__("" :: "m" (destElem)); 2845 finishVfp(fpscr, state, true); 2846 FpscrExc = fpscr; --- 527 unchanged lines hidden --- | 2841 FPSCR fpscr = (FPSCR) FpscrExc; 2842 VfpSavedState state = prepFpState(VfpRoundNearest); 2843 __asm__ __volatile__("" : "=m" (srcElem1), "=m" (destElem) 2844 : "m" (srcElem1), "m" (destElem)); 2845 destElem = fpToBits(vcvtFpHFpS(fpscr, true, fpscr.ahp, srcElem1)); 2846 __asm__ __volatile__("" :: "m" (destElem)); 2847 finishVfp(fpscr, state, true); 2848 FpscrExc = fpscr; --- 527 unchanged lines hidden --- |