| /* PR rtl-optimization/78547 */ | |
| /* { dg-do compile { target int128 } } */ | |
| /* { dg-options "-Os -g -freorder-blocks-algorithm=simple -Wno-psabi" } */ | |
| /* { dg-additional-options "-mstringop-strategy=libcall" { target i?86-*-* x86_64-*-* } } */ | |
| typedef unsigned __int128 u128; | |
| typedef unsigned __int128 V __attribute__ ((vector_size (64))); | |
| V | |
| foo (u128 a, u128 b, u128 c, V d) | |
| { | |
| V e = (V) {a}; | |
| V f = e & 1; | |
| e = 0 != e; | |
| c = c; | |
| f = f << ((V) {c} & 7); | |
| return f + e; | |
| } |