diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c b/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c
index 475142186b50028ac6e2cd7d91ac0e6a6bf72810..9c89db57aad0e1d52ce2e6628a385620091fa429 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr107541.c
@@ -3,9 +3,11 @@
 
 unsigned char a = 1;
 char b, e;
-long c;
+long long c;
 short d;
 int main() {
+  if (sizeof (short) != 2 || sizeof (int) != 4 || sizeof (long long) != 8)
+    return 0;
   a = ~(1 && a);
   c = ~((~a / 8 | -2) & 11007578330939886389LLU);
   e = -c;