iOS5不支持Auto Layout功能

问题描述

今天做陆家嘴金融杂志iPad版,在iOS6上运行都可以,但是运行在iOS5上报如下错误:

2012-12-24 15:25:29.912 Magazine[321:c07] *** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'

*** First throw call stack:

(0x14cc022 0xecccd6 0x1474a48 0x14749b9 0x3504a3 0x35067b 0x350383 0x25016d 0xf61fc 0xf6779 0xf699b 0x55401 0x55670 0x55836 0xe241dd8 0x5c72a 0x2d596 0x2e274 0x3d183 0x3dc38 0x31634 0x13b6ef5 0x14a0195 0x1404ff2 0x14038da 0x1402d84 0x1402c9b 0x2dc65 0x2f626 0x236d 0x2295)

terminate called throwing an exception(lldb)

问题解决

选中.stroyborad和.xib文件,在Inspector属性栏将Interface Builder Document下的“Use Autolayout”复选框勾去掉。

iOS录音问题

问题描述
AD的iPad版有一个鼓掌互动的应用。换了前后三套类库,如下:
SCListener:https://gist.github.com/72914
AVAudioRecorder:http://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioRecorder_ClassReference/Reference/Reference.html
SpeakHere:http://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html

问题分析
首先使用SCListener,发现模拟器上正常使用,但是真机不能监听声音。再使用AVAudioRecorder,发现还是有以上真机不能监听的问题。
最后使用SpeakHere,可以监听,但是有一个bug。就是:真机上,声音监听过就不能播放video,而模拟器上一切正常。

问题解决
原来录音和播放使用的是一个通道,需要手动设置当前通道的状态。而模拟器上就可以忽略这种限制。
修改通道为录音的代码如下:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryRecord error:nil];

修改通道为播放的代码如下:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];

播放前修改为播放,录音前修改为录音,一切OK了。

PS:后来发现只要修改对应的通道,AVAudioRecorder在真机上也可以用了。

cocos2d多个CCSprite同时运行带CCCallFuncN的Action后会造成调用丢失

问题描述
昨天晚上通宵改Geely iPad的bug,这个bug改了8个小时。问题是程序会泄露导致崩溃。

问题分析
项目使用的是cocos2d,所以也不能使用Instruments做性能测试。一步一步发现一个CCLayer没有dealloc,于是进去一步一步查,一段段的注释和启用。最后发现有了这段代码就会出现泄露崩溃:

[vBackground stopAllActions];

[vMenu stopAllActions];

id backgroundFaceAction=[CCFadeOut actionWithDuration:0.7];

id backgroundCallAction=[CCCallFuncN actionWithTarget:self selector:@selector(removeNode:)];

id backgroundSequenceAction=[CCSequence actions:backgroundFaceAction, backgroundCallAction, nil];

id menuFaceAction=[CCFadeOut actionWithDuration:0.7];

id menuCallAction=[CCCallFuncN actionWithTarget:self selector:@selector(removeNode:)];

id menuSequenceAction=[CCSequence actions:menuFaceAction, menuCallAction, nil];

[vBackground runAction:backgroundSequenceAction];

[vMenu runAction:menuSequenceAction];

其中调用的removeNode函数如下:

-(void) removeNode:(id)vNode

{

CCNode *node=vNode;

if (node.parent!=nil)

{

[self removeChild:node cleanup:YES];

}

}

改成直接removeChild掉两个CCSprite,就不崩溃了:

[self removeNode:vBackground];

[self removeNode:vMenu];

问题解决:猜想是两个CCSprite同一时间开始的两个CCAction后同时调用removeNode函数,但是一个调到了,一个调用不到。想来这个是一个cocos2d的bug。

MPMoviePlayerViewController完成通知无效

问题描述
今天做Geely,在cocos2d中加video,使用MPMoviePlayerViewController类。

代码如下:
// play video
NSString *videoPath=[[NSBundle mainBundle] pathForResource:@"110414_Gilly_Mix" ofType:@"mov"];
NSURL *videoUrl=[NSURL fileURLWithPath:videoPath];
MPMoviePlayerViewController *player= [[MPMoviePlayerViewController alloc] initWithContentURL:videoUrl];
player.view.backgroundColor = [UIColor blackColor];
player.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
player.moviePlayer.movieControlMode = MPMovieControlModeHidden;
[[[player moviePlayer] backgroundView] setBackgroundColor:[UIColor blackColor]];
[[[CCDirector sharedDirector] openGLView] addSubview:player.view];

[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];

[[player moviePlayer] play];

问题解决
通知这段去掉object,改为:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];

调用成功,问题解决,但是不知道原因。

Apple出怪版了

问题描述:昨天换的2011新15寸MBP,通过Time Machine把资料倒入新电本。今天编译Geely iPad不通过,问题多多,首先是证书问题,通过重新做了一个证书解决了。后来又碰到个非常奇怪的问题,出怪版了。

问题分析:编译通过,运行程序,出现如下错误:

GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC 2011)

Copyright 2004 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "x86_64-apple-darwin".Attaching to process 2375.

2011-04-09 16:54:41.148 Geely[2375:207] cocos2d: cocos2d v1.0.0-beta

2011-04-09 16:54:41.149 Geely[2375:207] cocos2d: Using Director Type:CCDirectorDisplayLink

2011-04-09 16:54:41.164 Geely[2375:207] cocos2d: OS version: 4.3 (0x04030000)

2011-04-09 16:54:41.164 Geely[2375:207] cocos2d: GL_VENDOR:   Apple Computer, Inc.

2011-04-09 16:54:41.164 Geely[2375:207] cocos2d: GL_RENDERER: Apple Software Renderer

2011-04-09 16:54:41.165 Geely[2375:207] cocos2d: GL_VERSION:  OpenGL ES-CM 1.1 APPLE

2011-04-09 16:54:41.165 Geely[2375:207] cocos2d: GL_MAX_TEXTURE_SIZE: 2048

2011-04-09 16:54:41.166 Geely[2375:207] cocos2d: GL_MAX_MODELVIEW_STACK_DEPTH: 16

2011-04-09 16:54:41.166 Geely[2375:207] cocos2d: GL_MAX_SAMPLES: 4

2011-04-09 16:54:41.167 Geely[2375:207] cocos2d: GL supports PVRTC: YES

2011-04-09 16:54:41.167 Geely[2375:207] cocos2d: GL supports BGRA8888 textures: YES

2011-04-09 16:54:41.167 Geely[2375:207] cocos2d: GL supports NPOT textures: YES

2011-04-09 16:54:41.168 Geely[2375:207] cocos2d: GL supports discard_framebuffer: YES

2011-04-09 16:54:41.168 Geely[2375:207] cocos2d: compiled with NPOT support: NO

2011-04-09 16:54:41.168 Geely[2375:207] cocos2d: compiled with VBO support in TextureAtlas : YES

2011-04-09 16:54:41.203 Geely[2375:207] cocos2d: compiled with Affine Matrix transformation in CCNode : YES

2011-04-09 16:54:41.204 Geely[2375:207] cocos2d: compiled with Profiling Support: NO

2011-04-09 16:54:41.213 Geely[2375:207] cocos2d: surface size: 1024x768

[Switching to process 2375 thread 0x580b]

[Switching to process 2375 thread 0x207]

LLVM ERROR: Cannot yet select: 0x5838e90: v2i64 = bit_convert 0x58693d8 [ID=115]

0x58693d8: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x58691b8, 0x5837930 [ORD=123] [ID=112]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x58691b8: v4i32 = bit_convert 0x586c310 [ORD=119] [ID=109]

0x586c310: v4f32 = X86ISD::MOVHLPS 0x586c0f0, 0x586c200 [ID=105]

0x586c0f0: v4f32 = X86ISD::UNPCKHPS 0x5868718, 0x5868938 [ID=101]

0x5868718: v4f32 = bit_convert 0x5868690 [ORD=91] [ID=96]

0x5868690: v4i32 = llvm.x86.sse2.cvttps2dq 0x58681b8, 0x5868608 [ORD=90] [ID=92]

0x58681b8: i32 = Constant<629> [ORD=80] [ID=13]

0x5868608: v4f32 = fmul 0x5867c68, 0x5868e00 [ORD=89] [ID=88]

0x5867c68: v4f32 = fmul 0x5867be0, 0x5868350 [ORD=69] [ID=84]

0x5867be0: v4f32 = llvm.x86.sse2.cvtdq2ps 0x5839d70, 0x5867b58 [ORD=68] [ID=80]

0x5839d70: i32 = Constant<617> [ORD=56] [ID=12]

0x5867b58: v4i32 = bit_convert 0x586bf58 [ORD=67] [ID=76]

0x586bf58: v4f32 = X86ISD::MOVLHPS 0x586bdc0, 0x586bcb0 [ID=72]

0x586bdc0: v4f32 = X86ISD::UNPCKHPS 0x58372d0, 0x5839358 [ID=69]

0x58372d0: v4f32 = bit_convert 0x5837578 [ORD=30] [ID=60]

0x5837578: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837028, 0x5837820 [ORD=27] [ID=56]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837820: i32 = Constant<12> [ORD=27] [ID=10]

0x5839358: v4f32 = bit_convert 0x58371c0 [ORD=32] [ID=65]

0x58371c0: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837bd8, 0x5837138 [ORD=28] [ID=62]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837bd8: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5838fa0 [ORD=23] [ID=58]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5838fa0: i32 = Constant<20> [ORD=23] [ID=7]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x586bcb0: v4f32 = X86ISD::UNPCKHPS 0x5839468, 0x5839578 [ID=67]

0x5839468: v4f32 = bit_convert 0x5837248 [ORD=34] [ID=64]

0x5837248: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837688, 0x5837138 [ORD=29] [ID=61]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837688: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5837930 [ORD=24] [ID=57]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837930: i32 = Constant<24> [ORD=24] [ID=8]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x5839578: v4f32 = bit_convert 0x5837d70 [ORD=36] [ID=63]

0x5837d70: v2i64 = and 0x58373e0, 0x586b750 [ORD=26] [ID=59]

0x58373e0: v2i64 = bit_convert 0x586bc28 [ORD=25] [ID=55]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x586b750: v2i64,ch = load 0x555b2d4, 0x586b6c8, 0x5837a40<LD16[ConstantPool]> [ID=50]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586b6c8: i32 = add 0x58394f0, 0x586b640 [ID=42]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x586b640: i32 = X86ISD::Wrapper 0x586b5b8 [ID=34]

0x586b5b8: i32 = TargetConstantPool<<4 x i32> <i32 15, i32 15, i32 15, i32 15>> 0 [TF=2] [ID=26]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868350: v4f32,ch = load 0x555b2d4, 0x58689c0, 0x5837a40<LD16[ConstantPool]> [ID=48]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58689c0: i32 = add 0x58394f0, 0x58687a0 [ID=40]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x58687a0: i32 = X86ISD::Wrapper 0x5868570 [ID=32]

0x5868570: i32 = TargetConstantPool<<4 x float> <float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000>> 0 [TF=2] [ID=24]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868e00: v4f32,ch = load 0x555b2d4, 0x586ab18, 0x5837a40<LD16[ConstantPool]> [ID=49]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586ab18: i32 = add 0x58394f0, 0x5869020 [ID=41]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x5869020: i32 = X86ISD::Wrapper 0x5868f10 [ID=33]

0x5868f10: i32 = TargetConstantPool<<4 x float> <float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000>> 0 [TF=2] [ID=25]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868938: v4f32 = bit_convert 0x58688b0 [ORD=96] [ID=97]

0x58688b0: v4i32 = llvm.x86.sse2.cvttps2dq 0x58681b8, 0x5868828 [ORD=95] [ID=93]

0x58681b8: i32 = Constant<629> [ORD=80] [ID=13]

0x5868828: v4f32 = fmul 0x5867e88, 0x5868e00 [ORD=94] [ID=89]

0x5867e88: v4f32 = fmul 0x5867e00, 0x5868350 [ORD=74] [ID=85]

0x5867e00: v4f32 = llvm.x86.sse2.cvtdq2ps 0x5839d70, 0x5867d78 [ORD=73] [ID=81]

0x5839d70: i32 = Constant<617> [ORD=56] [ID=12]

0x5867d78: v4i32 = bit_convert 0x586bed0 [ORD=72] [ID=77]

0x586bed0: v4f32 = X86ISD::MOVHLPS 0x586bcb0, 0x586bdc0 [ID=73]

0x586bcb0: v4f32 = X86ISD::UNPCKHPS 0x5839468, 0x5839578 [ID=67]

0x5839468: v4f32 = bit_convert 0x5837248 [ORD=34] [ID=64]

0x5837248: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837688, 0x5837138 [ORD=29] [ID=61]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837688: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5837930 [ORD=24] [ID=57]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837930: i32 = Constant<24> [ORD=24] [ID=8]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x5839578: v4f32 = bit_convert 0x5837d70 [ORD=36] [ID=63]

0x5837d70: v2i64 = and 0x58373e0, 0x586b750 [ORD=26] [ID=59]

0x58373e0: v2i64 = bit_convert 0x586bc28 [ORD=25] [ID=55]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x586b750: v2i64,ch = load 0x555b2d4, 0x586b6c8, 0x5837a40<LD16[ConstantPool]> [ID=50]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586b6c8: i32 = add 0x58394f0, 0x586b640 [ID=42]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x586b640: i32 = X86ISD::Wrapper 0x586b5b8 [ID=34]

0x586b5b8: i32 = TargetConstantPool<<4 x i32> <i32 15, i32 15, i32 15, i32 15>> 0 [TF=2] [ID=26]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x586bdc0: v4f32 = X86ISD::UNPCKHPS 0x58372d0, 0x5839358 [ID=69]

0x58372d0: v4f32 = bit_convert 0x5837578 [ORD=30] [ID=60]

0x5837578: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837028, 0x5837820 [ORD=27] [ID=56]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837820: i32 = Constant<12> [ORD=27] [ID=10]

0x5839358: v4f32 = bit_convert 0x58371c0 [ORD=32] [ID=65]

0x58371c0: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837bd8, 0x5837138 [ORD=28] [ID=62]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837bd8: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5838fa0 [ORD=23] [ID=58]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5838fa0: i32 = Constant<20> [ORD=23] [ID=7]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x5868350: v4f32,ch = load 0x555b2d4, 0x58689c0, 0x5837a40<LD16[ConstantPool]> [ID=48]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58689c0: i32 = add 0x58394f0, 0x58687a0 [ID=40]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x58687a0: i32 = X86ISD::Wrapper 0x5868570 [ID=32]

0x5868570: i32 = TargetConstantPool<<4 x float> <float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000>> 0 [TF=2] [ID=24]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868e00: v4f32,ch = load 0x555b2d4, 0x586ab18, 0x5837a40<LD16[ConstantPool]> [ID=49]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586ab18: i32 = add 0x58394f0, 0x5869020 [ID=41]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x5869020: i32 = X86ISD::Wrapper 0x5868f10 [ID=33]

0x5868f10: i32 = TargetConstantPool<<4 x float> <float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000>> 0 [TF=2] [ID=25]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x586c200: v4f32 = X86ISD::UNPCKHPS 0x58682c8, 0x58684e8 [ID=99]

0x58682c8: v4f32 = bit_convert 0x5868240 [ORD=81] [ID=94]

0x5868240: v4i32 = llvm.x86.sse2.cvttps2dq 0x58681b8, 0x5868130 [ORD=80] [ID=90]

0x58681b8: i32 = Constant<629> [ORD=80] [ID=13]

0x5868130: v4f32 = fmul 0x5867828, 0x5868e00 [ORD=79] [ID=86]

0x5867828: v4f32 = fmul 0x5867608, 0x5868350 [ORD=59] [ID=82]

0x5867608: v4f32 = llvm.x86.sse2.cvtdq2ps 0x5839d70, 0x5839ce8 [ORD=56] [ID=78]

0x5839d70: i32 = Constant<617> [ORD=56] [ID=12]

0x5839ce8: v4i32 = bit_convert 0x586c068 [ORD=55] [ID=74]

0x586c068: v4f32 = X86ISD::MOVLHPS 0x586be48, 0x586bd38 [ID=70]

0x586be48: v4f32 = X86ISD::UNPCKLPS 0x58372d0, 0x5839358 [ID=68]

0x58372d0: v4f32 = bit_convert 0x5837578 [ORD=30] [ID=60]

0x5837578: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837028, 0x5837820 [ORD=27] [ID=56]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837820: i32 = Constant<12> [ORD=27] [ID=10]

0x5839358: v4f32 = bit_convert 0x58371c0 [ORD=32] [ID=65]

0x58371c0: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837bd8, 0x5837138 [ORD=28] [ID=62]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837bd8: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5838fa0 [ORD=23] [ID=58]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5838fa0: i32 = Constant<20> [ORD=23] [ID=7]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x586bd38: v4f32 = X86ISD::UNPCKLPS 0x5839468, 0x5839578 [ID=66]

0x5839468: v4f32 = bit_convert 0x5837248 [ORD=34] [ID=64]

0x5837248: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837688, 0x5837138 [ORD=29] [ID=61]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837688: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5837930 [ORD=24] [ID=57]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837930: i32 = Constant<24> [ORD=24] [ID=8]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x5839578: v4f32 = bit_convert 0x5837d70 [ORD=36] [ID=63]

0x5837d70: v2i64 = and 0x58373e0, 0x586b750 [ORD=26] [ID=59]

0x58373e0: v2i64 = bit_convert 0x586bc28 [ORD=25] [ID=55]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x586b750: v2i64,ch = load 0x555b2d4, 0x586b6c8, 0x5837a40<LD16[ConstantPool]> [ID=50]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586b6c8: i32 = add 0x58394f0, 0x586b640 [ID=42]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x586b640: i32 = X86ISD::Wrapper 0x586b5b8 [ID=34]

0x586b5b8: i32 = TargetConstantPool<<4 x i32> <i32 15, i32 15, i32 15, i32 15>> 0 [TF=2] [ID=26]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868350: v4f32,ch = load 0x555b2d4, 0x58689c0, 0x5837a40<LD16[ConstantPool]> [ID=48]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58689c0: i32 = add 0x58394f0, 0x58687a0 [ID=40]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x58687a0: i32 = X86ISD::Wrapper 0x5868570 [ID=32]

0x5868570: i32 = TargetConstantPool<<4 x float> <float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000>> 0 [TF=2] [ID=24]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868e00: v4f32,ch = load 0x555b2d4, 0x586ab18, 0x5837a40<LD16[ConstantPool]> [ID=49]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586ab18: i32 = add 0x58394f0, 0x5869020 [ID=41]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x5869020: i32 = X86ISD::Wrapper 0x5868f10 [ID=33]

0x5868f10: i32 = TargetConstantPool<<4 x float> <float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000>> 0 [TF=2] [ID=25]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x58684e8: v4f32 = bit_convert 0x5868460 [ORD=86] [ID=95]

0x5868460: v4i32 = llvm.x86.sse2.cvttps2dq 0x58681b8, 0x58683d8 [ORD=85] [ID=91]

0x58681b8: i32 = Constant<629> [ORD=80] [ID=13]

0x58683d8: v4f32 = fmul 0x5867a48, 0x5868e00 [ORD=84] [ID=87]

0x5867a48: v4f32 = fmul 0x58679c0, 0x5868350 [ORD=64] [ID=83]

0x58679c0: v4f32 = llvm.x86.sse2.cvtdq2ps 0x5839d70, 0x5867938 [ORD=63] [ID=79]

0x5839d70: i32 = Constant<617> [ORD=56] [ID=12]

0x5867938: v4i32 = bit_convert 0x586bfe0 [ORD=62] [ID=75]

0x586bfe0: v4f32 = X86ISD::MOVHLPS 0x586bd38, 0x586be48 [ID=71]

0x586bd38: v4f32 = X86ISD::UNPCKLPS 0x5839468, 0x5839578 [ID=66]

0x5839468: v4f32 = bit_convert 0x5837248 [ORD=34] [ID=64]

0x5837248: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837688, 0x5837138 [ORD=29] [ID=61]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837688: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5837930 [ORD=24] [ID=57]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837930: i32 = Constant<24> [ORD=24] [ID=8]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x5839578: v4f32 = bit_convert 0x5837d70 [ORD=36] [ID=63]

0x5837d70: v2i64 = and 0x58373e0, 0x586b750 [ORD=26] [ID=59]

0x58373e0: v2i64 = bit_convert 0x586bc28 [ORD=25] [ID=55]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x586b750: v2i64,ch = load 0x555b2d4, 0x586b6c8, 0x5837a40<LD16[ConstantPool]> [ID=50]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586b6c8: i32 = add 0x58394f0, 0x586b640 [ID=42]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x586b640: i32 = X86ISD::Wrapper 0x586b5b8 [ID=34]

0x586b5b8: i32 = TargetConstantPool<<4 x i32> <i32 15, i32 15, i32 15, i32 15>> 0 [TF=2] [ID=26]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x586be48: v4f32 = X86ISD::UNPCKLPS 0x58372d0, 0x5839358 [ID=68]

0x58372d0: v4f32 = bit_convert 0x5837578 [ORD=30] [ID=60]

0x5837578: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837028, 0x5837820 [ORD=27] [ID=56]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5837820: i32 = Constant<12> [ORD=27] [ID=10]

0x5839358: v4f32 = bit_convert 0x58371c0 [ORD=32] [ID=65]

0x58371c0: v4i32 = llvm.x86.sse2.psrli.d 0x5837ac8, 0x5837bd8, 0x5837138 [ORD=28] [ID=62]

0x5837ac8: i32 = Constant<689> [ORD=27] [ID=9]

0x5837bd8: v4i32 = llvm.x86.sse2.pslli.d 0x5839138, 0x5837028, 0x5838fa0 [ORD=23] [ID=58]

0x5839138: i32 = Constant<677> [ORD=23] [ID=6]

0x5837028: v4i32 = bit_convert 0x586bc28 [ORD=22] [ID=54]

0x586bc28: v8i16 = X86ISD::PUNPCKLWD 0x58378a8, 0x5867f10 [ID=53]

0x58378a8: v8i16 = bit_convert 0x586ba08 [ORD=20] [ID=52]

0x586ba08: v2f64 = X86ISD::VZEXT_MOVL 0x586b860 [ID=51]

0x586b860: v2f64 = scalar_to_vector 0x58379b8 [ID=43]

0x58379b8: f64,ch = load 0x555b2d4, 0x5837ce8, 0x5837a40<LD8[%19]> [ORD=17] [ID=35]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x5837ce8: i32,ch = CopyFromReg 0x555b2d4, 0x58374f0 [ORD=14] [ID=28]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58374f0: i32 = Register %reg16395 [ORD=14] [ID=1]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5867f10: v8i16 = bit_convert 0x5867cf0 [ID=39]

0x5867cf0: v4i32 = BUILD_VECTOR 0x5867ad0, 0x5867ad0, 0x5867ad0, 0x5867ad0 [ID=31]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5867ad0: i32 = TargetConstant<0> [ID=23]

0x5838fa0: i32 = Constant<20> [ORD=23] [ID=7]

0x5837138: i32 = Constant<28> [ORD=28] [ID=11]

0x5868350: v4f32,ch = load 0x555b2d4, 0x58689c0, 0x5837a40<LD16[ConstantPool]> [ID=48]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x58689c0: i32 = add 0x58394f0, 0x58687a0 [ID=40]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x58687a0: i32 = X86ISD::Wrapper 0x5868570 [ID=32]

0x5868570: i32 = TargetConstantPool<<4 x float> <float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000, float 0x3FB1111120000000>> 0 [TF=2] [ID=24]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5868e00: v4f32,ch = load 0x555b2d4, 0x586ab18, 0x5837a40<LD16[ConstantPool]> [ID=49]

0x555b2d4: ch = EntryToken [ORD=14] [ID=0]

0x586ab18: i32 = add 0x58394f0, 0x5869020 [ID=41]

0x58394f0: i32 = X86ISD::GlobalBaseReg [ID=22]

0x5869020: i32 = X86ISD::Wrapper 0x5868f10 [ID=33]

0x5868f10: i32 = TargetConstantPool<<4 x float> <float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000, float 0x406FFFFFE0000000>> 0 [TF=2] [ID=25]

0x5837a40: i32 = undef [ORD=17] [ID=5]

0x5837930: i32 = Constant<24> [ORD=24] [ID=8]

Program ended with exit code: 1

问题解决:出错的运行环境是(2011 15" MBP+cocos2d 0.99.5+iPad 4.3 Simulator)。旧MBP+cocos2d 0.995+iPad 4.3 Simulator:通过。
2011 15" MBP+cocos2d 0.995+iPad 4.3 Device:通过。
2011 15" MBP+cocos2d 0.995+iPad older Simulator:通过。

查了一下,网上集中在New sandy bridge MBP+OpenGL+4.3 Simulator,这组合都有这个问题,可能是新MBP使用的新硬件导致的LLVM的bug。

警告多次引用问题

问题描述:今天做Geely车展项目iPad版,编译出现如下4条类似警告

Warning: Multiple build commands for output file /Users/CouldHll/Library/Developer/Xcode/DerivedData/Geely-grefjmjqcpmyxhdfmcisltnaoxju/Build/Products/Debug-iphonesimulator/Geely.app/3_tube_selection_color_1.png

问题分析:显然问题肯定是引用多次图片导致

问题解决:发现以前已经有引用了相同的文件名。删除其中一个,解决了。

iPad壁纸尺寸问题

今天知道嘉实多要买100台iPad赠送给客户,我们要配合安装预置程序以及初始化设置。其中要设置壁纸。
把1024*768的图片设置为壁纸。发现有横过来尺寸符合,竖过来图片被放大,然后只显示图片中间部分。
所以,壁纸需要用1024*1024的图片进行设置,而且元素必须居于图片中心。

iPad和iPhone的Safari“添加至主页”功能自定义图标

今天知道嘉实多要买100台iPad赠送给客户,我们要配合安装预置程序以及初始化设置。其中要把嘉实多主页保存到iPad主界面上,但是图标需要自定义。

方法如下:

对收藏的页面加入代码:
<link rel="apple-touch-icon-precomposed" href="/icon.png" />
icon.png的尺寸是114×114,不需要做圆角和高光,iPad会自动加。

PS:如果不做如上设置,则iPad会对网页截图并做为图标。

类一定要继承

问题描述
今天做Denizen Box, 遇到一个奇怪的问题,问题描述如下:

2011-03-29 11:35:14.237 Box[6271:207] *** NSInvocation: warning: object 0x117c98 of class 'Config' does not implement doesNotRecognizeSelector: -- abort

问题分析
看到Config.h里:

@interface Config

没有继承任何类

问题解决
改成:

@interface Config : NSObject

一切安逸了。