GCCについて part8
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/10/13(土) 00:07:39GNU本家のGCCページ
http://gcc.gnu.org/
Binutils - Collection of binary utilities ←これも必要だぞ。
http://www.gnu.org/directory/GNU/binutils.html
GNU Binutils
http://sources.redhat.com/binutils/
GCC online documentation
http://gcc.gnu.org/onlinedocs/
Installing GCC
http://gcc.gnu.org/install/
GCC Timeline
http://gcc.gnu.org/releases.html#timeline
Calendar
http://gcc.gnu.org/develop.html#timeline
前スレ
GCCについて part7
http://pc11.2ch.net/test/read.cgi/tech/1145357824/l50
0951デフォルトの名無しさん
2009/06/21(日) 19:19:13嘘を言うな
0952デフォルトの名無しさん
2009/06/21(日) 19:22:46いやicc以外バグがあるってintelに指摘されてるでしょ
0953デフォルトの名無しさん
2009/06/21(日) 19:24:16ソースは?
0954デフォルトの名無しさん
2009/06/22(月) 01:08:450955デフォルトの名無しさん
2009/06/22(月) 05:23:14CPUもなかったっけ?
0956デフォルトの名無しさん
2009/06/22(月) 05:58:460957デフォルトの名無しさん
2009/06/22(月) 06:41:47CoreMAは最初のころ命令デコーダがEM64Tの命令切りわけ時に
ペナルティがあった。
レジスタが増えた分と実行性能が落ちる分とがあるから、
64bitにしたら単純に性能が上がるとは言えない。
0958デフォルトの名無しさん
2009/06/22(月) 06:58:330959デフォルトの名無しさん
2009/06/22(月) 10:11:04Intel は Core2 でもあまり性能上がらなかったからな。
ネハーレンでやっと最初から64bitをターゲットに設計したCPUになった。
0960デフォルトの名無しさん
2009/06/22(月) 20:34:09上のほうで「速くなる」とか「遅くなる」とか言ってるのがアホってだけで。
んなもん、CPUと対象のプログラムに依存するにきまってんだろ。
0961デフォルトの名無しさん
2009/06/23(火) 00:08:05なぜかgccだけは64bitでもっさりするw
終わってるよな
0962デフォルトの名無しさん
2009/06/23(火) 04:53:200963デフォルトの名無しさん
2009/06/24(水) 02:02:15push/popが実質0クロックで終わるから、レジスタ増えたこと自体は
大した解決にならないんでないの。
push reg/pop regも1バイト命令だし、ALUがボトルネックになるだろうから
今時のx86デコーダの負荷にはならんだろうし。
レジスタリネーミングが無いプロセッサとか、
レジスタ割り当て問題にコンパイラが悩まされてるときなら
レジスタが多いのは役に立ったけど、今となっちゃあ
それだけでパフォーマンスアップしろってのは難しいでしょ。
0964デフォルトの名無しさん
2009/06/24(水) 02:09:10普通、push/popなんてしません。
毎回直接読み書きするし、
それがアドレスを示すものならば、必ずレジスタにロードしてから(アドレス先に)アクセスします。
0965デフォルトの名無しさん
2009/06/24(水) 02:12:59「レジスタ変数に割り当て可能なレジスタ」が増えた場合の話だけね。
局所的な計算に用いる「レジスタの増加」とはあまり関係ない。
0966デフォルトの名無しさん
2009/06/24(水) 02:45:08でもやっぱりmovも0クロックじゃね?
ほとんどのケースで演算に隠れちゃいそうだけど。
0967デフォルトの名無しさん
2009/06/24(水) 03:08:16メモリの読み書きとレジスタじゃ速度が違うんだよ。
そうでなければレジスタの存在意義が半減する。
だからこそRISCとかは沢山のレジスタを持ってるし
x86だってレジスタリネーミングとかを駆使して補おうとしている。
補えないから、一時変数としてのメモリの読み書きが発生してるんだがね。
0968デフォルトの名無しさん
2009/06/24(水) 03:58:11いや、だから今時のx64積んでるようなx86ってその「レジスタの存在意義が半減」してるから、
単にレジスタ増えただけじゃあんまり変らなくね?って話ですよ。
キャッシュアクセスのスループットがいくら悪くても、
前後の演算なりイテレーションなりに隠せないようなケースってのは
ほぼ無いと見ていいんじゃないかと。
もちろん、裏付けがあるわけではないので、
「んなわけねーよ、メモリ待ちでストールしまくりだよ」
と言われるとそれまでです。
0969デフォルトの名無しさん
2009/06/24(水) 04:28:09これだけは絶対ありません。
そして、(対32bitにおけるデコーダ等の不利の無い場合)
64bitで再コンパイルしたコードの速度が実際に速くなっているという事実が
全てを物語っていますけど。
0970デフォルトの名無しさん
2009/06/24(水) 09:37:160971デフォルトの名無しさん
2009/06/24(水) 13:17:590972デフォルトの名無しさん
2009/06/24(水) 16:33:04開発費を湯水のように使って高速なプロセッサの設計が出来、
開発費の回収も出来たからだろうな。
現状はレジスタ数を増やした方が早くなっているものの、早くなっていないアプリもある。
演算やポインタの単位が64ビットになって、キャッシュに対する影響が出ているのではないかと
思われるが、本当の理由についての解析は完璧に進んでいるのかな?
32bitでレジスタ増えるモードがあれば、相当に高速であるだろうとは思うが
そんな命令セットになってないし…
0973デフォルトの名無しさん
2009/06/24(水) 16:41:49http://www.amazon.co.jp/Computer-Architecture-Quantitative-Approach-Kaufmann/dp/0123704901
0974デフォルトの名無しさん
2009/06/24(水) 17:55:27ものか。あれでSTLを使うのに恐れをなす初学者は多いだろうな。
0975デフォルトの名無しさん
2009/06/24(水) 18:17:530976デフォルトの名無しさん
2009/06/24(水) 18:19:42ttp://www.bdsoft.com/tools/stlfilt.html
0977デフォルトの名無しさん
2009/06/24(水) 18:37:27おお?
何じゃこれは?
0978977
2009/06/24(水) 18:38:43ttp://natu.txt-nifty.com/natsutan/2007/08/stlfilt.html
あまり変わらないような気もするな。
0979デフォルトの名無しさん
2009/06/24(水) 18:42:18一時期使ってたことあったのだが、何でやめたのか思い出せない。
また使ってみるか。
0980デフォルトの名無しさん
2009/06/24(水) 21:05:49使えないので使い勝手が悪かったので俺はやめた
0981デフォルトの名無しさん
2009/06/26(金) 00:46:51make[2]: *** [configure-stage1-target-libgcc] エラー 1
make[2]: 出ます ディレクトリ `/***/src/gcc-4.3.3'
make[1]: *** [stage1-bubble] エラー 2
make[1]: 出ます ディレクトリ `/***/src/gcc-4.3.3'
make: *** [all] エラー 2
てな エラーが出るんだが、これってどう意味?
ググったけどあんまり参考にならなかった。
0982デフォルトの名無しさん
2009/06/26(金) 00:55:10もうちょっと上のほうで xgcc だかなんだかがエラーはく
→ それを起動してた make がエラーになる
→ その make を起動してた make がエラーになる
って感じになってて、そのメッセージじゃその最後の2つだけしかわからないから、根本的な原因がわからない
0983デフォルトの名無しさん
2009/06/26(金) 01:21:23もう一回makeしたらこういうのが出ました。
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
0984デフォルトの名無しさん
2009/06/26(金) 01:27:060985デフォルトの名無しさん
2009/06/26(金) 01:27:19なんて事もあったりする。
RH8じゃ元々入ってるのはかなり古くないかい?
0986デフォルトの名無しさん
2009/06/26(金) 01:33:22diskはフルじゃないこと確認した。
>>985
調べてみたけどgcc バージョン 3.2だ。2002年だけど、これってかなり古い部類?
0987デフォルトの名無しさん
2009/06/26(金) 01:57:570988デフォルトの名無しさん
2009/06/26(金) 02:04:32それは両方とも最新のをインストールしてあります。
0989デフォルトの名無しさん
2009/06/26(金) 02:09:430990デフォルトの名無しさん
2009/06/26(金) 04:31:46gcc-3.4.6でgcc-4.1.1のクロスコンパイラ作ろうとしたら、
libgcc作る所でxgccがInternal Error吐いたことがあった。
gcc-4.3.3にしたら問題なし。
0991デフォルトの名無しさん
2009/06/26(金) 07:24:070992981
2009/06/26(金) 16:39:35configure:3251: checking whether the C compiler works
configure:3257: ./a.out
configure:3260: $? = 0
configure:3277: result: yes
configure:3284: checking whether we are cross compiling
configure:3286: result: no
configure:3630: gcc -c -g -O2 conftest.c >&5
conftest.c:2: parse error before "me"
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
| exit (42);
| ;
| return 0;
| }
0993デフォルトの名無しさん
2009/06/26(金) 19:55:130994デフォルトの名無しさん
2009/06/26(金) 21:00:16>>983のエラーの後にfor more detail see cofig.logとか何とか書いてあったので見てみたわけです。
0995デフォルトの名無しさん
2009/06/26(金) 22:22:41とかやって、コンパイラ本体が動くか確認してみては?
0997デフォルトの名無しさん
2009/06/27(土) 00:09:590998デフォルトの名無しさん
2009/06/27(土) 04:53:120999デフォルトの名無しさん
2009/06/27(土) 08:29:201000デフォルトの名無しさん
2009/06/27(土) 08:31:0410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。