File: output_s_affect_codegen.d

package info (click to toggle)
ldc 1%3A1.30.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 59,248 kB
  • sloc: cpp: 61,598; ansic: 14,545; sh: 1,014; makefile: 972; asm: 510; objc: 135; exp: 48; python: 12
file content (26 lines) | stat: -rw-r--r-- 546 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

// Check object files are identical regardless -output-s option
// RUN: %ldc -c -O3 -output-s -output-o -of=%t1.o %s && %ldc -c -O3 -output-o -of=%t2.o %s && %diff_binary %t1.o %t2.o

import core.simd;
import ldc.simd;

alias Vec = Vector!(float[4]);

extern void foo(float*);

// Just some random sufficiently complex code
Vec bar(Vec v)
{
    float[4] val;
    Vec ret;
    storeUnaligned!Vec(v,val.ptr);
    foo(val.ptr);
    ret = loadUnaligned!Vec(val.ptr);
    return ret;
}

Vec baz(Vec v)
{
    return bar(bar(bar(bar(bar(bar(v))))));
}