Here you go:<br><br><span style="font-family: courier new,monospace;">Starting program: /home/chandlerc/code/compilers/build/llvm-gcc/gcc/cc1 -fpreprocessed -march=k8 testcase.i -o /dev/null</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff0d5fe000</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">[Thread debugging using libthread_db enabled]</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> foocc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81: const llvm::Type* llvm_set_type(tree_node*, const llvm::Type*): Assertion `(!(__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81, __FUNCTION__); __t; })->type.size) || !Ty->isSized() || !isInt64((__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81, __FUNCTION__); __t; })->type.size), true) || getInt64((__extension__ ({ const tree __t = (Tr); if (tree_code_type[(int) (((enum tree_code) (__t)->common.code))] != (tcc_type)) tree_class_check_failed (__t, (tcc_type), "/home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp", 81, __FUNCTION__); __t; })->type.size), true) == getTargetData().getABITypeSizeInBits(Ty)) && "LLVM type size doesn't match GCC type size!"' failed.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">[New Thread 0x2b709e7b8440 (LWP 15687)]</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Program received signal SIGABRT, Aborted.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">[Switching to Thread 0x2b709e7b8440 (LWP 15687)]</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">0x00002b709e48afa5 in raise () from /lib/libc.so.6</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) up</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#1  0x00002b709e48ca00 in abort () from /lib/libc.so.6</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) up</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#2  0x00002b709e4843df in __assert_fail () from /lib/libc.so.6</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) up</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#3  0x0000000000a84d3b in llvm_set_type (Tr=0x2b709d6f8790, Ty=0x166c210)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    at /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:78</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">78         assert((!TYPE_SIZE(Tr) || !Ty->isSized() || !isInt64(TYPE_SIZE(Tr), true) ||</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) Ty->dump()</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Undefined command: "Ty->dump".  Try "help".</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) call Ty->dump()</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">x86_fp80</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) call debug_tree(type)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">No symbol "type" in current context.</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) up</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">#4  0x0000000000a86501 in TypeConverter::ConvertType (this=0x16941a0, orig_type=0x2b709d6f8790)</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    at /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:756</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">756         case 80: return SET_TYPE_LLVM(type, Type::X86_FP80Ty);</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) call debug_tree(type)</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> <real_type 0x2b709d6f8790 long double sizes-gimplified XF</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    size <integer_cst 0x2b709d6f39c0 type <integer_type 0x2b709d6e4370 bit_size_type> constant invariant 96></span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    unit size <integer_cst 0x2b709d6f39f0 type <integer_type 0x2b709d6e42c0 long unsigned int> constant invariant 12></span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    align 32 symtab 0 alias set -1 precision 80</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    pointer_to_this <pointer_type 0x2b709d6f89a0>></span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">(gdb) </span><br><br><br>On Thu, Mar 27, 2008 at 1:18 AM, Duncan Sands <<a href="mailto:baldrick@free.fr">baldrick@free.fr</a>> wrote:<br>> Hi Chandler,<br>>  <br>
> <br>>  > void<br>>  > foo () {<br>>  >   float x __attribute__ ((mode (XF)));<br>>  > }<br>>  <br>>  nice reduction.  I don't see any problem on x86-32,<br>>  and I don't have access to an x86-64 box right now.<br>
>  Can you please open a PR for this, and also run in<br>>  the debugger.  When you hit the abort, use "up" to<br>>  go up a stack frame or two or three, and print out<br>>  the gcc types [use: call debug_tree(type) ] and the<br>
>  LLVM type [use: call Ty->dump() ].<br>>  <br>>  Thanks,<br>>  <br>>  Duncan.<br>>  <br><br>