| // REQUIRED_ARGS: -O -inline | |
| // https://issues.dlang.org/show_bug.cgi?id=20855 | |
| void testit() | |
| { | |
| pragma(inline, false); | |
| short[4] arr = [-1, 6, 0, 4]; | |
| long1 A = *cast(long1*)(arr.ptr); | |
| assert(_mm_extract_pi16(A, 0) == 65535); | |
| } | |
| struct short4 | |
| { | |
| short[4] array; | |
| } | |
| struct long1 | |
| { | |
| long[1] array; | |
| } | |
| int _mm_extract_pi16 (long1 a, int imm8) | |
| { | |
| return cast(ushort)((cast(short4)a).array[imm8]); | |
| } | |
| void main() | |
| { | |
| testit(); | |
| } |