Skip to content
  • Chris Lattner's avatar
    add some infrastructure for codegen'ing complex numbers. implement addition · e9a6453d
    Chris Lattner authored
    of complex.  We now produce optimal code for:
    
    void test(_Complex float *Y) {
      *Y = *Y + *Y;
    }
    
    $ clang -emit-llvm cg.c | llvm-as | opt -std-compile-opts | llc -march=x86-64
    ...
    _test:
            movss (%rdi), %xmm0
            addss %xmm0, %xmm0
            movss 4(%rdi), %xmm1
            movss %xmm0, (%rdi)
            addss %xmm1, %xmm1
            movss %xmm1, 4(%rdi)
            ret
    
    llvm-svn: 39673
    e9a6453d
Loading