Always check the map file to see the correct offsets.
Apart of that, does the code works?
Also, how is AT91C_BASE_AIC and AIC_SVR defined? are they defined as volatile?
Can you reproduce the problem by removing all non pertinent code, to exclude you have a bad pointer incrementing your register?