| /* { dg-options "-O2 -fdump-tree-optimized -fdump-ipa-profile-optimized" } */ |
| int a[1000]; |
| int b[1000]; |
| int size=1; |
| int max=10000; |
| #ifdef __mips |
| /* We allow short memcpy()s for MIPS16. */ |
| int __attribute__((nomips16)) |
| #else |
| int |
| #endif |
| main() |
| { |
| int i; |
| for (i=0;i<max; i++) |
| { |
| __builtin_memset (a, 10, size * sizeof (a[0])); |
| asm(""); |
| } |
| return 0; |
| } |
| /* autofdo doesn't support value profiling for now: */ |
| /* { dg-final-use-not-autofdo { scan-ipa-dump "Transformation done: single value 4 stringop" "profile" { target { ! aarch64*-*-* } } } } */ |
| /* The versioned memset of size 4 should be optimized to an assignment. |
| { dg-final-use-not-autofdo { scan-tree-dump "MEM <\[a-z \]+> \\\[\\(void .\\)&a\\\] = 168430090" "optimized" { target { ! aarch64*-*-* } } } } */ |