| // RUN: %clang -x cl --save-temps -c -### %s 2>&1 | FileCheck %s |
| // RUN: %clang -x cl -ccc-print-phases -c %s 2>&1 | FileCheck %s -check-prefix=CHECK-PHASES |
| |
| // CHECK: "-o" "[[CLI_NAME:.+]].cli" "-x" "cl" |
| // CHECK-NEXT: "-o" "[[CLI_NAME]].bc" "-x" "cl-cpp-output"{{.*}}"[[CLI_NAME:.+]].cli" |
| |
| // CHECK-PHASES: 0: input, {{.*}}, cl |
| // CHECK-PHASES: 1: preprocessor, {0}, cl-cpp-output |
| // CHECK-PHASES: 2: compiler, {1}, ir |
| |
| uint3 add(uint3 a, uint3 b) { |
| ulong x = a.x + (ulong)b.x; |
| ulong y = a.y + (ulong)b.y + (x >> 32); |
| uint z = a.z + b.z + (y >> 32); |
| return (uint3)(x, y, z); |
| } |